From Haskell to Java: modeling your problem domain with types | Hacker News Reader