anchor.diff:    FunctionType(this.returnType, this.args, this.optionals, this.named) {
       this.args = _process(this.args);
       this.optionals = _process(this.optionals);
  -    // TODO(vsm): Add named arguments.
  +    // TODO(vsm): Named arguments were never used by pageloader2 so they were
  +    // never processed here.
     }
   
     toString() => name;
  
positive.code: })()''');
  
  class FunctionType extends AbstractFunctionType {
    final returnType;
    List args;
    List optionals;
    final named;
    // TODO(vsm): This is just parameter metadata for now.
    List metadata = [];
    String _stringValue;
  
  
negative.code:     return _memoizeArray(_fnTypeTypeMap, keys, create);
    }
  
    /// Returns the function arguments.
    ///
    /// If an argument is provided with annotations (encoded as a JS array where
    /// the first element is the argument, and the rest are annotations) the
    /// annotations are extracted and saved in [metadata].
    List _process(List array) {
      var result = [];
      for (var i = 0; JS<bool>('!', '# < #.length', i, array); ++i) {
  