function signatures in solidity are the first four bytes of the keccak hash of the function name and parameters but what happens if function signatures collide? can it even happen? 👇