This project is to develop software for users to deal comfortably with abstraction.
People want to use abstraction in a dream-like way, like with paint brushes on a canvas, where the boundaries of structure and logic don't get in the way.
Unfortunately, computers need preciseness.
Abstractness can be properly handled by creating rules that build an environment suited to the "abstract".
People still need to interact with these abstract things, and they're going to want to deal with them in an intuitive way.
That means there's only so many interfaces that could be built.
The trick is to get the software to recognize when the users are ready for their creations to be less abstract and by what degree.
And even if the the system knows every possible relationship and behavior, it must find that balance between structure and dream.
There's always going to be a limit to the kinds of rules the user wants acting upon his or her creations.