Functional Programming in PHP: a php[architect] guide