Encode state transitions in types using linear types | Hacker News Reader