Improve the left and right implementations
Special case (+++) for IId
Fill in the remaining cases for (+++)
Fill in special cases for (|||)