Formal verification has nothing to do with the quality of the API.
Given the spec, formal verification can tell you if your implementation follows the spec. It cannot tell you if the spec if good
> It cannot tell you if the spec if good
I beg to differ, if a spec is hard to verify, then it's a bad sign.
That is one problem of many solved, isn't that good?
That the spec solves the problem is called validation in my domain and treated explicitly with different methods.
We use formal validation to check for invariants, but also "it must return a value xor an error, but never just hang".
Thats something I agree with.
I am right now working on an offline api client: https://voiden.md/. I wonder if this can be a feature.