This leads to two problems:
1. You can't take advantage of infallible code...
Infallible code is much easier to use because there is no need to worry about errors. But you can't take advantage of that because infallibility is not encoded in any way.
With Result types, infallible code is clearly marked, which allows for sectioning it off from fallible code. Programmers naturally gravitate towards doing just that because they want to take advantage of the ease of use.
The result is a lot of pure functions and as little fallible code as possible.
2. ...but you will erroneously try to do so anyway
You will inevitably start assuming that certain code can't possibly fail. The ease of use of infallible code is just too alluring: [1] [2] [3].
[1]: https://nedbatchelder.com//blog/202001/bug_915_solved.html
[2]: https://devblogs.microsoft.com/oldnewthing/20050114-00/?p=36...
[3]: (a little wordy) https://www.joelonsoftware.com/2005/05/11/making-wrong-code-...