There are many ways to solve equality: duck typing, injection, protocol dispatch.
Here’s why Funx uses the one it does:
funx