Type functions can be named "typeof"
As of version 0.655, type functions can be named "typeof", which appears to be an oversight as type aliases can't be named typeof and cause a syntax error when attempting to do so. The resulting type function can't be used in a type alias (unless imported from a module).
--!strict
type function typeof(t) --no error
return t
end
local _:typeof<number> = 1 --invalid, parsed as typeof type
some of the text in the original post resulted from confusion with typeof(t) not returning 'type' as described in the type function rfc and causing me to think that it couldn't be called from another type function, i'll leave it up in case it isn't actually intended
fixed in 0.670 by making it an error to define these: https://github.com/luau-lang/luau/pull/1779