Don't carry compiling if a step fails
New [unfinished, ffs] grammar. Tests