docstrings and unit tests added. Importantly: began to add more methods such as is_equiv to stop relying on ^ and | etc for equivalence relationships. Type checking should be isolated to a small set of bad __something__ methods (shorthands).