Using text to represent and edit code hinders efficient use of space. The lines-of-characters paradigm makes it easy to write and edit single-line expressions:

if p x then 1 else 0

Multi-line code is trickier because one needs to maintain indentation and alignment:

if p x then ( do eatBreakfast writeCode goToSleep) else ( do skipBreakfast launchMissiles)

Combined use of horizontal and vertical layout is not feasible at all:

if p x then do eatBreakfast writeCode goToSleep else do skipBreakfast launchMissiles

Structure editors can easily support this sort of layout, which becomes more important for highly nested expressions.