anchor.diff:      if (m.isPrivate) {
         return;
       }
  -    if (m is MethodMirror && m.isRegularMethod) {
  -      // TODO toplevel functions
  +    if (m is VariableMirror) {
  +      // print("Variable: " + MirrorSystem.getName(m.simpleName).toString());
  +      declarationMap[MirrorSystem.getName(k)] = variableToMap(m, m, false);
  +    }
  +    if (m is MethodMirror && (m.isRegularMethod || m.isGetter)) {
         // print("Method: " + MirrorSystem.getName(m.simpleName).toString());
  +      declarationMap[MirrorSystem.getName(k)] = methodToMap(m, m, false);
       }
       else if (m is ClassMirror) {
         // print("-- Class: " + MirrorSystem.getName(k).toString() + " --");
  
positive.code: }
  
  Map<String, Object> typeToMap(
      TypeMirror tm, TypeMirror from, [bool isClass = false, bool erase = true]) {
  
    // FIXME tm is null sometimes
  
  
negative.code:   return map;
  }
  
  Map<String, Object> variableToMap(VariableMirror mm, DeclarationMirror from,
      bool forceAbstract) {
    var map = new Map();
    map[keyType] = typeToMap(mm.type, from); // TODO what about void?
  