anchor.diff:        DomElement element =
             source is Element ? new DomElement.fromElement(source) : source;
         nativeElement.append(element.nativeElement);
  -    } else {
  -      throw new ArgumentError('Valid values are: String|Element|DomElement');
  +    } else if (source is _Callback) {
  +      append(source(this));
  +    } else if (source != null) {
  +      throw new ArgumentError('Valid values are: ' +
  +          'String|Element|DomElement|(DomElement) => dynamic');
       }
     }
   
  
positive.code:     nativeElement.text = new HtmlEscape().convert(value);
    }
  
    void append(dynamic /* String|Element|DomElement */ source) {
      if (source is String) {
        nativeElement.insertAdjacentHtml('beforeend', source,
            treeSanitizer: new NullTreeSanitizer());
  
negative.code:     }
    }
  
    void prepend(
        dynamic /* String|Element|DomElement|(DomElement) => dynamic */ source) {
      if (source is String) {
        nativeElement.insertAdjacentHtml('afterbegin', source,
            treeSanitizer: new NullTreeSanitizer());
  