Removed OO, added inject and foldleft