While working on an API client for Kite using Dart/Flutter, I found an inconsistency with typing in at least 4 keys across all "cluster" objects in a category. The inconsistency is present in at least 3 categories (World, Business, and Japan are the only ones I tested).
The keys where I've noticed the behavior so far were "user_action_items", "technical_details", "international_reactions" and "timeline". Whenever these keys have no data, rather than containing an empty array, they contain an empty string. This hinders the process of making a statically-typed JSON deserializer in Dart, particularly when using code generation packages like freezed. Due to the inconsistency, extra logic needs to be hand-written to determine the correct type... and handwritting deserialization code is prone to bugs.
"user_action_items" is an array when it has data:

instead of an empty array, it's an empty string:

The keys should return empty arrays if there is no data, not an empty string. There are other keys such as "travel_advisory" and "scientific_significance" that return empty arrays rather than a string when there is no data. Implementing this change would make the API more intuitive and consistent for consumers.