Fix Trac #2018: float-out was ignoring the kind of a coercion variable
authorsimonpj@microsoft.com <unknown>
Mon, 7 Jan 2008 14:26:01 +0000 (14:26 +0000)
committersimonpj@microsoft.com <unknown>
Mon, 7 Jan 2008 14:26:01 +0000 (14:26 +0000)
commite2cf518a3dcccdddd609188ddba6fb121c2e25fe
treeea36c957d720b008de7df9049e0a35c3ba83fc51
parent3787d9878e4d62829a555f01b2a4c5866f24f303
Fix Trac #2018: float-out was ignoring the kind of a coercion variable

The float-out transformation must handle the case where a coercion
variable is free, which in turn mentions type variables in its kind.
Just like a term variable really.

I did a bit of refactoring at the same time.

Test is tc241

MERGE to stable branch
compiler/simplCore/SetLevels.lhs