I just landed an implementation of generic typealiases, e.g. things like:
typealias StringDictionary<T> = Dictionary<String, T>
typealias IntFunction<T> = (T) -> Int
typealias MatchingTriple<T> = (T, T, T)
typealias BackwardTriple<T1,T2,T3> = (T3, T2, T1)
etc now work.
I have tested various scenarios with them, but I wouldn’t be surprised if there are corner cases that aren’t working yet. Please try kicking them around and let me know if you run into any problems, thanks!