Experience shows it's really important to get 'the bones' of your system right, as early on as possible. Working to produce a preliminary design in an abstract space rather than in code frees you at this early stage from the inertia of code. It's easier to throw out a set of block diagrams and start over precisely because, as mere diagrams, they don't "sort of work already". And I'm certain that in the history of waterfall projects, nobody anywhere ever went off 'on the side' to knock out a prototype as an 'evaluation exercise', now did they?
That said, re the rest of waterfall? Not sure I'm missing that.