I'm kind of reluctant to do that. From my point of view, the `FactoryInterface` should be as broad as possible in the methods signature, and any actual implementation of it (like `Factory`) could chose to describe a more specific return value if it's needed. However, I'll be glad to hear any thoughts about why that may not be a good way to go.