code: def validate(self):
          
          _validate_operator_name(self.operator, BinaryComposition.SUPPORTED_OPERATORS)
  
          if not isinstance(self.left, Expression):
              raise TypeError(u'Expected Expression left, got: {} {} {}'.format(
                  type(self.left).__name__, self.left, self))
  
          if not isinstance(self.right, Expression):
              raise TypeError(u'Expected Expression right, got: {} {}'.format(
                  type(self.right).__name__, self.right))
docs: Validate that the BinaryComposition is correctly representable.