adding runtime inferred argument support for generic functions