BTW, and maybe too late to change it, but could `foreach[U](f: T => U)` have been `foreach(f: T => Any)` instead.