That looks less clear to me than first introducing the sample code that uses an overloading module, then showing the code that would be called by such an overloaded operation, then showing the preamble needed to set up such a module.
Your example is certainly easier to just glaze over when reading, cut'n'paste en-masse, and then futz with the code without bothering to try to understand the basics of overloading, just trying to get something to work. But I'm not sure that is an improvement as far as documentation goes.
I'd like to see more examples in documentation, but I'd rather have small examples that each explain one concept rather than one monolith example that I'm supposed to dig through trying to find the concepts.