anchor.diff:        'name': name,
         'type': type
       };
  +}
  +
  +/**
  + * Holds the name of a return type, and its generic type parameters.
  + * 
  + * Return types are of a form [outer]<[inner]>.
  + * If there is no [inner] part, [inner] will be an empty list. 
  + * 
  + * For example:
  + *        int size()  
  + *          "return" : 
  + *            - "outer" : "dart.core.int"
  + *              "inner" :
  + * 
  + *        List<String> toList()
  + *          "return" :
  + *            - "outer" : "dart.core.List"
  + *              "inner" : 
  + *                - "outer" : "dart.core.String"
  + *                  "inner" :
  + *        
  + *        Map<String, List<int>>
  + *          "return" : 
  + *            - "outer" : "dart.core.Map"
  + *              "inner" :
  + *                - "outer" : "dart.core.String"
  + *                  "inner" :
  + *                - "outer" : "dart.core.List"
  + *                  "inner" :
  + *                    - "outer" : "dart.core.int"
  + *                      "inner" :
  + */
  +class Type {
  +  String outer;
  +  List<Type> inner;
  +  
  +  Type(this.outer, this.inner);
  +  
  +  Map toMap() => {
  +      'outer': outer,
  +      'inner': new List.from(inner.map((e) => e.toMap()))
  +    };
   }
positive.code:       'static': isStatic.toString(),
        'abstract': isAbstract.toString(),
        'constant': isConst.toString(),
        'return': returnType,
        'parameters': recurseMap(parameters),
        'annotations': new List.from(annotations)
      };
  
negative.code:   bool isStatic;
    bool isAbstract;
    bool isConst;
    Type returnType;
    
    /// List of the meta annotations on the method.
    List<String> annotations;
    
    Method(String name, this.isStatic, this.isAbstract, this.isConst, 
        this.returnType, String comment, this.parameters, this.annotations,
        String qualifiedName) 
        : super(name, comment, qualifiedName);
    
  