I didn't get it from the initial description, but now that I've seen it in action this looks like it could be a really cool mashup of genres, especially in a puzzle game where you can change up the goals on a per-level basis to reward deep understanding of all the functions and what they do.
Thanks! I had the idea of level specific goals. That was one of the first thing I thought of. It's going to be tight to see whether I can implement this as I am assuming it will be a lot of scripting. At the moment the goal for each level is the same - Get rid of all the blocks on the screen.