code: function DelegateType(typeSpec) {
    if (typeof typeSpec.delegateType !== 'function') {
      throw new Error('Instances of DelegateType need typeSpec.delegateType to be a function that returns a type');
    }
    Object.keys(typeSpec).forEach(function(key) {
      this[key] = typeSpec[key];
    }, this);
  }
docs: A type for "we don't know right now, but hope to soon".