code: function ThrowType(name, type, value, actual) {
  		console.log('THIS:', this)
  		let THS = this, pfx = (!!THS ? THS.Name||THS.Scheme : '');
  		throw new TypeError(
  			`${pfx} property, [${name}], must be one of the following, <${
  				type.join('> or <').toTitleCase()
  			}>. Got <${actual.toTitleCase()}> (${value}) instead.`
  		);
  	}
docs: Throws a `TypeError` when a `type` requirement is not met
  
  @param {String} name The `name` of the Property
  @param {String} type The `type` the Property should have been
  @param {any}    value The failed `value`
  @param {String} actual The `type` the Value actual is
  @private