Permeator is a Functor for operating over
each element of an Enumearble. (Note: This used to be called an Elementor.)
TODO: With Ruby 1.9+ this would not be required, as it can be replaced by a
generic Functor, becuase then lambda
definitions can pass blocks.