docs: function field() {
    var args = mlutil.asArray.apply(null, arguments);
    switch(args.length) {
    case 0:
      throw new Error('missing field name');
    case 1:
      return new FieldDef(new FieldNameDef(args[0]));
    case 2:
      return new FieldDef(new FieldNameDef(args[0], args[1]));
    default:
      throw new Error('too many arguments for field identifier: '+args.length);
   }
  }