Here is a medium-sized rant for you.
> laziness is a bad thing
Laziness is an important motivation behind many best practices in software development. For example:
Laziness is a good thing if it means "don't make development unnecessarily difficult". If development is more difficult, it takes longer, and people are less likely to want to do it. One of the reasons I haven't been doing much work on the official version recently is because, even without property setting elements, there's a lot of things which I want to change / reorganise / improve but due to compatibility I can't do so without a great amount of difficulty.
For example:
Property setting elements would make the situation even worse. I do not want to make TPT unnecessarily more difficult to maintain - if I did, I'd write everything in the same style as Simulation::find_next_boundary().
Also, it's not just me that thinks maintainability of TPT is already a problem:
[14:06:04] <savask> Ximon: Probably there is a way to make TPT multithreaded after all, isn't that great
[14:06:15] <Ximon> woo
[14:06:41] <savask> Ximon: But you will never see that implemented because TPT is too hard to maintain. HA!
2. See a few pages later, http://tpt.io/.255512
In addition to the reasons in that post: part of the fun of Powder Toy is in the challenge of working out how to build things, within the constraints of the elements available and the functionality available from those elements. This means there do need to be limits, otherwise there is no challenge and therefore much less fun. This is why, for example, FILT does not have a binary addition mode - because it would make things much too easy. Of course, features/elements are sometimes added to give less convoluted ways of doing things, but there are still limits to what they can do.
(I'm aware there are other sources of fun in TPT, such as blowing things up, or watching cities melt when you drip lava all over them, or looking at the complexity of other people's saves and how well they operate, but for actually building things there needs to be a reasonable amount of challenge. Otherwise there is barely any satisfaction in overcoming the challenge, no feeling of having beaten the restrictions and having achieved something.)
If you want to be able to make a program do absolutely anything you want without any limits, then programming might be a better choice than playing a physics sandbox game.