Your point is spot-on.
> A better analogy would be an argument about exposing call/cc in scheme. Is call/cc good language design? There are arguments on both sides. Haskell does continuations differently than Scheme. Which is "better"?
To clarify this, here's a couple of questions whose answers might amuse you.
Is it possible to implement explicit continuations in terms of monads?
Is it possible to implement monads in terms of explicit continuations?
If it is possible to implement A in terms of B (and not vice versa), then B is more basic than A.