anchor.diff:        map[keyType] = typeToMap(pm.type, from);
         map[keyMetatype] = metatypeParameter;
         map[keyName] = MirrorSystem.getName(pm.simpleName);
  +      if (pm.isNamed) {
  +        map[keyNamed] = true;
  +      }
  +    }
  +    if (pm.isOptional) {
  +      map[keyDefault] = true;
       }
   
       // TODO defaulted, named
  
positive.code:     map[keyTypeParams] = typeParameters;
    }
  
    if (cm.superclass != reflectClass(Object)) {
      map["super"] = typeToMap(cm.superclass, from, true);
    }
  
    // satisfy the corresponding Ceylon interface
    List<ClassMirror> interfaces = [cm];
    map[keySatisfies] = [typeToMap(cm, from)];
  
    // print("satisfies (c): " + map[keySatisfies].toString());
  
negative.code: 
  List<Map<String, Object>> parametersToList(List<ParameterMirror> parameters,
      TypeMirror from) {
    return parameters.map((pm) {
      var map = new Map();
      var pt = pm.type;
      if (pt is FunctionTypeMirror) {
  