ProducedType ceylon/ceylon-compiler#1778: set underlying type and fast-path

Avoid substituting where not needed, and make sure the underlying type is kept