Use customised instantiator

This is an alternative to #375, I vendored in their instantiator without the caching etc.