TypeUnifier
Instance methods
unify(pattern : Type, patt_loc : Location, arg : Type, arg_type_src : Location, type_args : Slice(Type | Nil) | Slice(Type)) : Error | Nil
This function should return an error if the types are not compatible. Types
are considered compatible if they are equal, or if pattern is a type
variable and arg satisfies the variable's constraints. and collect type
arguments along the way...