The alternative was to use drawstring, which didn't contract by itself, but you could pull it as closed as you wanted. I realised there's a trick to make elastic stretch more, and I'm sharing it here.
Normally people will sew a straight line of elastic in the direction they want to stretch: --------------
This is the simplest, most direct method. But as I tried to explain, it can only stretch so much.
The trick is to sew in a zig-zag: /\/\/\/\/\/\/\/\/\/\/\/\/\
By varying the angle and width/length of the zags, you can make it stretch as much as you want (at the cost of losing tension)
Basically this is how a coiled spring works. A straight wire will deform under tension or compression very easily, but the coil fits "more" wire in the same space, spreading out the deformation.
People already do this with solid springs:
This unibody carabiner designed for 3D-printing uses the flex of the material for the spring and gate. If the material were solid, either the gate would be too stiff, it would permanently deform once opened, or it would crack and fatigue quickly. By adding zig-zags, flexibility is greatly increased.
You've probably seen this on flexible toothbrushes:
The PB-9 Para-Biner has a similar spring:
What's my point? People have no idea how to make clips and they're paying way way too much for nothing. This can easily be solved with good design. Even the brittle 3D-printed steel can have flex, but the 3D printing resolution is too low to make good zig-zags.
Update: this titanium carabiner on Kickstarter has exactly what I'm talking about:
Grade 5 Titanium Carabiner with built-in Spring Mechanism
Naturally, I had to buy it. It wasn't that expensive, as Kickstarter carabiners go, and it was made by EDM, which is much more precise and gives cleaner cuts than the cheaper common waterjet. Here's mine: