wrap up implementing gen-inline-def multimethod