Scala: laziness, unapply magic, null checks | Hacker News Reader