Using TypeValue, default instantiate throws UnsupportedOperationException
Merge pull request #41 from maxqchen/master

Refactor instantiate using TypeValue