Optional types in type parameters ================================= The easiest solution is probably to just require either: 1) both the parameter declaration and the usage to be optional, or 2) none of them to be optional. For example: type List = ... type Slot = ... func f(ref List l) func g(ref Slot s) How about merging with word-sized or smaller types? - Merging should ONLY be allowed for non-optional types