Type aliases is a feature of the compiler. Nothing is added in the generated code for the JVM. All aliases will be replaced by the real type.
typealias StringValidator = (String) -> Boolean
typealias Reductor<T, U, V> = (T, U) -> V
typealias Parents = Pair<Person, Person>
typealias Accounts = List<Account>