There is a very long thread on Discourse about this very subject, but I don’t have a link handy. Basically, the philosophy is that a generic function should have a generic definition that applies to all its methods. In this case, ProgressMeter.next! and your next! have very different meanings, so they should not be methods of the same generic function.