Refactor instantiate using TypeValue

Good.