Going more functional

The Foo1, Foo2, Foo3 bindings were just too awful to not to try this,
and as it turned out, it helped to nail one error already...