allow passing function_key into functioncache to specify how a function should be converted into a key