Rewrote code to support for Object instead of Term. Yet just
syntactically, we still use TNumber, etc. But let's open.