support functions as map keys