docs: function(config){
      if (!config)
          config = {};
      if (config.dictval)
          config = this._from_dict(config.dictval);
      // If we are importing from dict the names are the same as internal (with leading _), otherwise it is simpler to have no trailing _
      this._params = config.params || config._params || {};
      this._metadata = config.metadata || config._metadata || {};
      this._link = config.link || config._link || null;
      this._verb = config.verb || config._verb || Statement.VERB_MEASURE;
      this._label = config.label || config._label || null;
      this._when = config.when || config._when || when_infinite;
      this._schedule = config.schedule || config._schedule || null; // completely ignored unless this is a specification
      this._resultvalues = config._resultvalues || config.resultvalues || {};
      this._token = config.token || config._token || this._default_token();
  }