use weaker equality test on functors
clean up examples