Instead of sticking all permissions in one file (per world), each user is a folder containing files where each line is a permission specification, and files can be symlinks (to function as groups).
This is a lot harder to mess up than YAML
Sorting order is alphabetical with world-specific permissions taking priority.
permissions/
users/
zml2008/
00-me
00-another
10-grp (symlink)-> ../../group1
worlds/
world/
[same as permissions/, takes priority]...
groups
anothergroup