Digestive functors: composable forms in Haskell | Hacker News Reader