@inthehands Very nice!
I'm frustrated by how long we've heard "use composition not inheritance" and yet language support for composition is still so poor. (I like what Swift does -- but my day-to-day language right now is Go and like everything else in Go the solution is "write a bunch of boilerplate so that the function names match up.")