Computers should be reversible. If you parse something, be sure to also format it. If you allow something to be installed, allow it to be uninstalled. If you delete a photo in your web app, allow it to be undeleted. The future needs ubiquitous undo. Please make everything more flexible.
A gentleman who was working on a new parser for my AI::Prolog managed to get things a bit confused at one point and the compiler was running backwards. Of course, since this is logic programming, it still printed out correct answers. The reason I couldn't use his nice parser is because math in Prolog is inherently non-logical (ironic, eh?) and therefore can't be run backwards.
I think you'd find that functional languages have this property, too. It's the procedural and OO ones that will give you fits.