You are not registering 3 different implementations of IParser. You create one default mapping
IParser -> SuperParser and then overwrite it with IParser
-> DefaultParser and then you overwrite it again with IParser
If you want to register all three of them you have to provide named registrations like
In addition ResolveAll does not include the default mapping (the one without a name). It only resolves those mappings of
IParser that were registered as named mappings.