stupid inversion of type and term :D