monad laws.
travis setup