Add more types

Getting my ass handed over to me by `state-get`
Add almost all types, missing one function.
Add types to state monad
Merge pull request #5 from VincentToups/4-add-type-annotation-for-state-monad

4 add type annotation for state monad