caching selected ctor in TypeInstanceProvider