code: function datatype() {
    var args = mlutil.asArray.apply(null, arguments);
    switch(args.length) {
    case 0:
      throw new Error('missing datatype');
    case 1:
      return new DatatypeDef(args[0]);
    case 2:
      return new DatatypeDef(args[0], args[1]);
    default:
      throw new Error('too many arguments for datatype: '+args.length);
    }
  }
docs: The datatype specification returned by the {@link queryBuilder#datatype}
  function.
  @typedef {object} queryBuilder.DatatypeParam
  @since 1.0
   
  Identifies the datatype of an index.
  @method
  @since 1.0
  @memberof queryBuilder#
  @param {string} datatype - a value from the enumeration
  int|unsignedInt|long|unsignedLong|float|double|decimal|dateTime|time|date|gYearMonth|gYear|gMonth|gDay|yearMonthDuration|dayTimeDuration|string|anyURI|point
  @param {string} [collation] - a URI identifying the comparison method for a string or anyURI datatype
  @returns {queryBuilder.DatatypeParam} a datatype specification