A smarter replacement for SpecFlow.Assist's CreateInstance<T>