hop: type cleanup