code: function Type(type, cls, sub) {
    if (!type) {
      throw new Error('Type class must be initialized at least with `type` information');
    }
    this.type = type;
    this.cls = cls;
    this.sub = sub;
  }
docs: /*
  Simple data function to store type information
  @param {string} type Usually what is returned from typeof
  @param {string} cls  Sanitized @Class via Object.prototype.toString
  @param {string} sub  If type and cls the same, and need to specify somehow
  @private
  @example
  
  //for null
  new Type('null');
  
  //for Date
  new Type('object', 'date');
  
  //for Uint8Array
  
  new Type('object', 'typed-array', 'uint8');