docs: function term() {
    var args = mlutil.asArray.apply(null, arguments);
    var text = [];
    var weight = null;
    var termOptions = null;
    var arg = null;
    for (var i=0; i < args.length; i++) {
      arg = args[i];
      if (weight === null && arg instanceof WeightDef) {
        weight = arg.weight;
        continue;
      }
      if (termOptions === null && arg instanceof TermOptionsDef) {
        termOptions = arg['term-option'];
        continue;
      }
      if (arg instanceof Array){
        Array.prototype.push.apply(text, arg);
      } else {
        text.push(arg);
      }
    }
  
    return new TermDef(new TextDef(null, null, text, weight, termOptions, null));
  }