put basic type-level functions into a different module