protected function getTypedValueFloatOrInt ($rawValue) {
		if (strpos($rawValue, '.') !== FALSE || strpos($rawValue, 'e') !== FALSE || strpos($rawValue, 'E') !== FALSE) {
			return floatval($rawValue); // float
		} else {
			// int or string if integer is too high (more then PHP max/min: 2147483647/-2147483647)
			$intVal = intval($rawValue);
			return (string) $intVal === $rawValue 
				? $intVal 
				: $rawValue;
		}
	}