Support {{#.}} and Iterable values
diff --git a/lib/template.dart b/lib/template.dart
index d15f09d..8d0d69a 100644
--- a/lib/template.dart
+++ b/lib/template.dart
@@ -122,8 +122,7 @@
 	_resolveValue(String name) {

 		// Handle implicit iterators

 		if (name == '.') {

-			var val = _stack.last;

-			return val == null ? null : val.toString();

+			return _stack.last;

 		}

 

 		var parts = name.split('.');

@@ -174,7 +173,7 @@
 

 	_renderSection(node) {

 		final value = _resolveValue(node.value);

-		if (value is List) {

+		if (value is Iterable) {

 			value.forEach((v) => _renderSectionWithValue(node, v));

 		} else if (value is Map) {

 			_renderSectionWithValue(node, value);

@@ -199,9 +198,9 @@
 

 	_renderInvSection(node) {

 		final value = _resolveValue(node.value);

-		if ((value is List && value.isEmpty) || value == false) {

+		if ((value is Iterable && value.isEmpty) || value == false) {

 			_renderSectionWithValue(node, value);

-		} else if (value == true || value is Map || value is List) {

+		} else if (value == true || value is Map || value is Iterable) {

 			// Do nothing.

 		} else if (value == null) {

 			if (_lenient) {

@@ -265,4 +264,4 @@
 	final int column;

 	final List<_Node> children = new List<_Node>();

 	String toString() => '_Node: ${tokenTypeString(type)}';

-}
\ No newline at end of file
+}