refactor:
 change def of equivalence to half adjoint equiv
 partially implement quasi inverse to equivalence function
 construct equivalences in terms of quasi inverses