Algebraic Data Types in JavaScript | Hacker News Reader