Don't require shunts in rspec examples
Cleaned up base monad and rewrote tests to not include the monad laws