From what I can tell, fdef
does seem to work fine with multimethods, although if you're going to use get-method
on an instrumented multimethod you need to keep around a reference/binding to the original multimethod before it gets wrapped by instrument
, and call get-method
on that original. (This is arguably as designed/documented since instrumenting expressly replaces the original fn. It would be neat if instrumenting wrapped each method within the multi rather than sitting (as it seems) above the dispatch, but the folks who built instrumenting have probably thought more about this than I have....)