code: def validate(self):
          
          if not isinstance(self.predicate, Expression):
              raise TypeError(u'Expected Expression predicate, got: {} {}'.format(
                  type(self.predicate).__name__, self.predicate))
          if not isinstance(self.if_true, Expression):
              raise TypeError(u'Expected Expression if_true, got: {} {}'.format(
                  type(self.if_true).__name__, self.if_true))
          if not isinstance(self.if_false, Expression):
              raise TypeError(u'Expected Expression if_false, got: {} {}'.format(
                  type(self.if_false).__name__, self.if_false))
docs: Validate that the TernaryConditional is correctly representable.