When developing ash_outstanding livebook I found that outstanding could be improved for lists (in this case of structs) which mismatch length.
Currently outstanding is simply the expected list in this scenario, which is mostly correct, but not always the case.
It will be quite common for structs to have ignored fields which should not be present in outstanding even if they are present in expected.
outstanding should be calculated on each expected list item, using actual list items truncating/padding with nil as necessary, with outstanding assembled into a list.
When developing ash_outstanding livebook I found that outstanding could be improved for lists (in this case of structs) which mismatch length.
Currently outstanding is simply the expected list in this scenario, which is mostly correct, but not always the case.
It will be quite common for structs to have ignored fields which should not be present in outstanding even if they are present in expected.
outstanding should be calculated on each expected list item, using actual list items truncating/padding with nil as necessary, with outstanding assembled into a list.