This seems like a lot of work for a result that isn't even very self documenting compared to some earlier efforts e.g.
Guido's post on multimethods: https://www.artima.com/weblogs/viewpost.jsp?thread=101605
Clojure style multimethods: https://adambard.com/blog/implementing-multimethods-in-pytho...