Ethan Furman <ethan@stoneleaf.us> added the comment: Serhiy is correct. The exact return type only needs to be ordered, and have appropriate dictionary methods such as `keys()`, `values()`, and `items()`. The reason a mappingproxy was chosen is exactly because what you just tried is illegal and/or confusing: - illegal because an Enum cannot be modified that way - confusing because the dictionary returned is only a copy of the Enum class' __dict__, and successful attempts to modify it would not change the Enum class. It is an implementation detail because the exact type of dictionary returned could change in the future. ---------- assignee: docs@python -> ethan.furman resolution: -> not a bug stage: patch review -> resolved status: open -> closed _______________________________________ Python tracker <report@bugs.python.org> <https://bugs.python.org/issue33862> _______________________________________