Functional versions

at least for PHP