I'd imagine challenge to someone unfamiliar with tables being grasping the idea to begin with.
No matter where you store the bails (by file or only by memory), it can be hard to grasp.
Say, for example, bail_amounts = { <ply1>.bail_amount = 100, <ply2>.bail_amount = 150, <ply>.bail_amount = 75 }
Where <ply#> could be any unique identifier.
Not everyone is fortunate enough to understand the complex layering tables can do.
bail_amounts{2} would be 150 of course, but, not everyone may understand why.
Unfortunately, I'm not patient enough to teach.