Data Validation In Haskell with newtypes, smart constructors, and AESON | Dark Hacker News