It looks like I was wrong on the ls example, more importantly, it seems we all agree that short options with optional arguments are messy, at best.
I think the best course of action is to take a look at the guix command line design and find a way to move away from depending on them. Maybe some iterative change its approach.