private static function identify($value)
    {
        if (!is_numeric($value) || !is_float($value)) {
            return gettype($value);
        }

        if (is_infinite($value)) {
            return $value < 0 ? '-INF' : 'INF';
        }

        if (is_nan($value)) {
            return 'NAN';
        }

        return 'float';
    }