My guess is that we'll first need a place where all providers are kept around to be reused for each invocation of _guessType_