Thanks for the post, it's very informative. I believe it would bode the go community well to publish guidelines/best practices on exposing reusable types/interfaces for re-use. Some libraries I come across simply make it very hard to extend minor behavior without a. modifying the library, b. copying the code from the library and not using the library or c. requires elaborate workarounds that requires creating a new type and passing in the old one (composition) and re-implementing the old types' interface and simply calling the old type to change the behavior of a single method via closures.
Perhaps I'm still very new to go, but I find the hardest part of writing go is reusing external libraries that don't exactly do what you require.
Perhaps I'm still very new to go, but I find the hardest part of writing go is reusing external libraries that don't exactly do what you require.