Example of Multiple Type Binding

Support StateT transformer instead of State monad (close #4)