Did not test the code (except to run the unit test)
Code looks harmless to any code which is not using functorKeys, so I will kick back any programs after testing them with the slot ticket.
I thought that the unit test had reasonable coverage, but lack of comments and the complexity of the third test made it not useful for someone trying to figure out how to use the code.
I'm not sure why self.assertClose was used. Is the order of the calculation not determined when calculating both operands of the comparisons?