Когда вы хотите определить тип функции, вы можете сделать это перечислением аргументов и возвращаемого типа в конце, разделёнными стрелками. Например,
Int -> Void это тип функции принимающей аргумент Int и возвращающей Void. А
Color -> Color -> Int принимает два аргумента типа Color и возвращает Int.
class C {
function f(x : String) : Int {
// ...
}
function g() {
type(f); // выводит String -> Int
var ftype : String -> String = f; // ошибка , вместо String должен быть Int
}
}