Initial take at Base#composeWith()

I'll add a missing test, but that's the initial take on issue #484