You can buy this project and download/modify it how often you want.
type(A) type(B) (<>(A||B))<=>((<>(A)||<>(B))) <>(-) <>(A)&&([](B))