When I first made iReal Pro it was only meant for notating chord charts. I came up with the cell structure (16 cell per line) and you could use those cells as you pleased, meaning a measure could be 2,3,4....16 cells long.
When a few years later, I added the player function we already had the forums and thousands of songs posted so the player had to work with most charts, no matter how many cells were in each measure.
This is easy when you have 1 chord per measure but any more than that and it can become quite difficult to make a decision.
I used a large number of example songs to try and solve the most common scenarios like 3 chords in a 4/4 measure can be 1 + 1 + 2 beats or 1 + 2 +1 or 2 + 1 + 1.
Resolving this is simple if the measure occupies 4 cells but what if it occupies 5 cells?
My solution was to do some simple math and assign a percentage of the measure occupied by each chord plus any following empty cells.
With these percentages in hand and some simple heuristics I can figure out which of the three possible combinations matches most closely.This example is for 4/4 with three chords. For 4/4 with two chord there are other three different options 2 + 2, 1 + 3, 3 + 1 and this requires all the same steps.
For longer time signatures like 5/4, 6/4, 7/4 the possibilities of combining 2, 3, 4, 5... chords per measure are very numerous so you can see how complicated it gets.
A log of repetitive code was necessary and it still fall over sometimes with very weird charts.
As for 5/4 and why it plays in 3 + 2, the simple answer is that most of the time that's how musicians play it so by defaulting to 3 + 2 I safely cover most of the situations.
This interpretation is not style based, it applies to all styles in the app.
A large majority of iReal Pro charts is written with 4 cell measures and users can easily change a song from 4/4 to 5/4 by only changing a single time signature at the beginning of the song and I wanted to have a reasonable default for this common case.
I can't really change the algorithm to look for when a particular case might mean 2 + 3 because it would result in too many false positives.
The only solution I can think of is to provide some way to indicate in the song chart itself a choice of how the longer meters (5/4, 7/4, 9/4) should be divided.
Being this a fairly obscure feature I wouldn't want to sacrifice any more space in the already crowded editor and further complicate its use for non power users.
On the other hand if it's hidden behind too many menus or even worse, if it requires some magic text or code only discoverable after reading documentation, it would never get used.
I have to think about all this.