Those later levels were extremely hard!
I would say this is a great game (particularly in the later levels) for anyone who wants to hone a disciplined programming mindset. None of this just use anything you want but actually requiring careful thought to efficiency due to the extreme limitations.
You have to think how to rely on side-effects. That is, especially in the later levels, since you don't have much space at all, you'll have to be very clever to think of ways to use those two functions in very unorthodox ways. Obviously you'll have some intended primary use, but you'll have to think if you can possibly use them in other ways as well.
One hint is you are not penalized for pushing forwards when you're already touching the wall. You must do this, so use it wisely!