A well-designed proof is a hierarchically structured collection of assumptions and statements. To check the proof with almost any current theorem prover, one must first eliminate the structure and encode the assumptions and statements in the idiosynchratic logic of the prover. One must then check and debug the proof with the particular set of algorithms the prover happens to implement, using an interface that provides an extremely myopic view of the proof. Some people believe that this process can be made wonderful by providing a screen interface that displays typeset formulas and replaces some typing with mouse clicks. In this talk, I propose a more drastic change.