If you end up changing the one above then I think this one just becomes a normal function rather than a multimethod.