Refactor instantiate using TypeValue

It's more of a TODO later kind of deal. I'll add a comment saying that.

(For stuff like nodes we'll have to pass in the schematic to get the reference objects)