The structures returned by the API are optimized for "raw" API usage (e.g. via Bots). Statements grouped by property as well as qualifiers and reference snaks are returned as maps. While there are awkward "qualifiers-order" and "snaks-order" attributes for qualifiers and reference snaks, there is no way to determine the order of statements via the API. Consequently, no reliable mechanism to manually order statements can be implemented.
Instead of having to apply complex logic evaluating special attributes like "qualifiers-order" and "snaks-order", there should be a way to retrieve natively ordered structures from the API.
The proposal is to provide a flag that, when submitted to API modules, will make lists instead of maps getting returned.
**Whiteboard**: u=dev c=backend p=0