Port MaybeApply from haskell semigroupoids.
OnePlus, the product of A and F[A], with some instances.
Isomorphism & some tests for OnePlus.
OnePlus traversal tests.
avoid SOE in tests

cf b41e157b0eced814c9c6cc3373eca5dfd7343385
Merge pull request #348