Moved foreach to Monad typeclass. Just copying Haskell hierarchy
Monad now is an abstract class, it should be extended not implemented
Deleted Iterable. I find out it is a imperative class, and moved all methods to Traversable. Fixed Seq extending traversable