Add Type.map
Add instantiate