o = none is decidable even if the wrapped type does not have decidable equality.
This is not an instance because it is not definitionally equal to
Try to use
If you maybe have a monadic computation in a
[monad m] which produces a term of type
there is a naturally associated way to always perform a computation in
m which maybe produces a