anchor.diff:  	}
   
   	_renderSectionWithValue(node, value) {
  -		_stack.add(value);
  +		if (value is Map)
  +			_stack.add(value);
  +		
   		node.children.forEach(_renderNode);
  -		_stack.removeLast();
  +		
  +		if (value is Map)
  +			_stack.removeLast();
   	}
   
   	_renderSection(node) {
  
positive.code: 		} else if (value is Map) {
  			_renderSectionWithValue(node, value);
  		} else if (value == true) {
  			_renderSectionWithValue(node, {});
  		} else if (value == false) {
  			// Do nothing.
  		} else if (value == null) {
  
negative.code: 	_renderInvSection(node) {
  		final value = _stack.last[node.value];
  		if ((value is List && value.isEmpty) || value == false) {
  			_renderSectionWithValue(node, value);
  		} else if (value == true || value is Map || value is List) {
  			// Do nothing.
  		} else if (value == null) {
  