Yes, we still need this. This is to raise an error in the case a method declares an interface as return type (say `List`) but no implementation type (e.g. `HashMap`)  is registered. In this case we don't know which type to use when instantiating the return value.

In which case is this a problem? We only should get here if the method in question requires an implementation to be generated, but this shouldn' be the case for factory methods?