Functional programming is in. There is a lot of buzz around the future of functional programming as applications look to leveraging multiple processors and multiple cores for their tasks. One of the things that makes this easier is to work with immutable