protected static function typeof($v): string
    {
        if (is_bool($v)) {
            return 'bool';
        } elseif (is_int($v)) {
            return 'int';
        } elseif (is_float($v)) {
            return 'float';
        } elseif (is_string($v)) {
            return 'string';
        } elseif (is_array($v)) {
            return 'array';
        } elseif (is_resource($v)) {
            return 'resource';
        }
        return get_class($v);
    }