A couple of small optimisations to our representation of casts and coercions within core.
`Cast' now includes the type that it coerces to. This means we do not need to expand the coercion in order to determine whether it is redundant or not.
Use the recent `Trans' coercion to chain two casts together, removing them if they are redundant. Closes #149
A couple of small optimisations to our representation of casts and coercions within core.
`Cast' now includes the type that it coerces to. This means we do not need to expand the coercion in order to determine whether it is redundant or not.
Use the recent `Trans' coercion to chain two casts together, removing them if they are redundant. Closes #149