interface Negates : Type -> Type -> Type
It is much easier to look for positive evidence than it is to look
for negative evidence. So instead of looking for `Not q`, we may
want to look for `p` instead
toNegation : p -> Not q
toNegation : Negates p q => p -> Not q