I am in doubt if a regular dict and an OrderedDict objects are truly interchangeable in a sense that the same function or method could return once a dict and other times an OrderedDict depending on the input arguments or for example in case of a class method depending on some other internal class instance attributes. If returning an OrderedDict would be significantly more costly than returning just a regular dict which should suffice as well why doing it the hard way? Would it be pythonic to create such a function or menthod? I use Python 2.7.
I have seen "Why should functions always return the same type?" and I felt my case is more special and less obvious to the unseasoned eye.