used fused types and remove cruft