Could introducing formal interfaces be nonbreaking?

Please. Even in the stdlibs I found (and fixed) several examples of docstrings that contradicted the code. One can do a lot of good static analysis without making it Turing complete. In this particular case one could require the function signature to be ==(a::MyType, b::MyType)::Bool, which is trivial to check.

5 Likes