Handle the general case of ambiguous fake providers by always using the provider for the most specific type, and throwing an error it no such type exists.