docs: function(value, hint) {
  	if (hint) {
  		var hintParser = this[hint[0].toUpperCase() + hint.slice(1)];
  		if (hintParser) {
  			return hintParser(value);
  		}
  	}
  
  	var numberValue = Number(value);
  	if (!isNaN(numberValue)) {
  		return numberValue;
  	}
  
  	var lowerValue = value.toLowerCase();
  	if (lowerValue === "true") {
  		return true;
  	}
  	else if (lowerValue === "false") {
  		return false;
  	}
  
  	return value;
  }