Denotational design with type class morphisms | Hacker News Reader