constructor( name, cond, value, subst ) {
		this.name  = name;
		this.value = value;
		this.subst = subst;
		this.cond  = cond instanceof Function
			? [ cond ]
			: makeArray( cond ).concat( value || [] ).map(function( prop ) {
				return prop instanceof Function
					? prop
					: function() {
						return !!get( this, prop );
					};
			});
	}
@param {String?} name
@param {(String|String[]|Function)?} cond
@param {String?} value
@param {Substitution[]?} subst