Applicatives should usually implement Semigroup and Monoid | Hacker News Reader