Improving the precision of effects interfere in the presence of unique references. Doing a master's of doctoral project in this area requires appropriate setting boundaries with the work of Aaron Greenhouse . When a portion of code has the only reference to an object, we say the reference is unique, and the object as unshared. Unshared objects can be mutated without regard to other parts of the system, an important property when working with large systems. Currently, Todd Roberts is implementing a first stage here.
More work remains.
The analysis can be extended to work with uniquely mutable, read-only and immutable. The analysis currently suffers from being extremely space intensive when there is niot much information. An alternate foundation that saves definition information, rather than possible information may help. The analysis needs to be proved sound, probably using the techniques in the section on aliasing. Some of the basic analyses that enable code motion can also be used to prove the absence of deadlocks.