Denotational design with type class morphisms · HackerTrans