document unary, binary, ternary