Currently, I'm at the beginning level, where things seem quite simple. But isn't it frustrating when a user is almost done with a level that might be longer and more complicated, but then messes up just on a tiny part and has to start over? Even if redoing the level is necessary, why offer a fix feature that feels kind of pointless to me because it's like fixing it twice? In here the user potentially not continue learn in the app.
Here's what I suggest: Even if a user makes a mistake, they'll likely correct it. But they should still move up a level so they don't have to start all over again, feel appreciated, and feel have progress about what they learn. We could structure the game's levels so that certain questions come up multiple times. That way, if users still get it wrong, they lose a "life," which might encourage them to consider getting our PRO package.