public static function toType($string)
    {
        if (null == $string) {
            return $string;
        }

        if (is_string($string) && 'null' === strtolower($string)) {
            return null;
        }

        foreach (self::$recognitions as $recognition) {
            $value = $recognition($string);
            if (null !== $value) {
                return $value;
            }
        }

        return (string) $string;
    }