clean up code, handle typecases of compound type constructors properlyish
clean up code, handle typecases of compound type constructors properlyish

darcs-hash:20070516040419-1a7c6-1229c57f65aa969172deb614e16fd2610643917c

kirbyfan64/jhc,kirbyfan64/jhc,kirbyfan64/jhc,kirbyfan64/jhc