Better error for TypeFn variance check
Move F subtyping cases near the top
More flexible with datatype ancestors
Replace assert with int-error
changelog