docs: function anchor() {
    var args = mlutil.asArray.apply(null, arguments);
    switch(args.length) {
    case 0:
      throw new Error('no milestone or lower bound for anchor');
    case 1:
      throw new Error('no lower bound for anchor');
    case 2:
      return new AnchorDef(args[0], args[1], null, null);
    case 3:
      throw new Error('must specify comparison with both lower and upper bounds for anchor');
    case 4:
      return new AnchorDef(args[0], args[1], args[2], args[3]);
    default:
      throw new Error('too many parameters for anchor: '+args.length);
    }
  }