
| > Moreover, I'm very keen to give a simple, precise answer to the | question | > if s is coercible to t | > when is (T s) coercible to (T t) | > I propose that the answer is given by precisely T's roles. At the | > moment I don't see why we would want to do anything more complicated. | | I’m not sure if „... if the roles allow it“ is any simpler than „if | there is a Coercible instance for it“, and Haskell programmers might be | happier if they can think in terms of type class instances without | learning a new concept. But it *is* simpler, because given the question can I say 'deriving instance Coercible A B'? the answer involves roles. So by adding this instance stuff you have *two* things to explain instead of one. It might seem that the presence or absence of a 'deriving Coercible' declaration gives you more control, but the *same* control is given by a role annotation. So I'm still not seeing any added value here, though I am seeing added complexity. Simon