type myType = string or number
type person = {
name = string,
id = number
}
local myvar for myType = "something"
local myvar2 for person = {
name = "sss",
id = 0
}
function somefn(name: string, age: number, aquaintance: table<number,person>) -> person
return ...
end
function myfn<t in myclass = myclass>(name: t) -> t
return name
end
myfn(myclass_instance)
myfn(class_that_extends_myclass_instance)
myfn<class_that_extends_myclass>(class_that_extends_myclass_instance)
function mysomefn(func: fun(string) -> string) -> string
return func("something")
end