Simplify bind of free monad
free monad functor, applicative

- require only functor for free monad
- add functor instance
- add applicative instance from Stackoverflow