Affine and linear types and variants (ownership types, uniqueness types) can model predictable release of resources, like a compiler-enforced C++'s RAII.
As another commenter put,
> The paper explains it's because they want deterministic destructors for things like file handles.
Or just use PEG, parser combinators, or other more readable parsing abstractions