1) hiding of coercions whose return type is a product is not done correctly,
since the "sats" information seem to have changed semantics. Enrico, is it
a bug or just a new semantics?
2) coercion matching has been implemented trivially (O(n)) in NCicCoercion.
Here I need a special version of a discrimination tree. Enrico, do we have
one already or is there a way to simulate it?