move cleanup pass to its own namespace
don't be too strict on host-expressions