Adding sequence along with tests.
- It's now possible to convert `Identity(Some(1))` to `Some(Identity(1))` i.e. M(N(A)) into N(M(A)).
With all intense and purposes looking into creating a monad transformer (but may not actually do!).
- Aligning with fantasy-options
- Renaming `equal` to `equals`
- Correct implementation of traverse in identity.