User-defined object comparison is currently supported by as-test and as-pect.
Simply, as-test do it with a JSON string compare, something like this:
this.left.set(JSON.stringify<T>(this._left));
this.right.set(JSON.stringify<T>(equals));
And as-pect do it with a somehow reflection mechanism.
I think user-defined object comparison is crucial for the unit test framework. Hope it will be supported soon.