another possibility is to make an instance with a ...
# arrow
p
another possibility is to make an instance with a function that goes
(Value) -> Key
, which is legitimate