code: def asserts(input_value, rule, message=''):
      
      assert callable(rule) or type(rule)==bool, 'asserts needs rule to be a callable function or a test boolean'
      assert isinstance(message, str), 'asserts needs message to be a string'
      # if the message is empty and rule is callable, fill message with rule's source code
      if len(message)==0 and callable(rule):
          try:
              s = getsource(rule).splitlines()[0].strip()
          except:
              s = repr(rule).strip()
          message = 'illegal input of {} breaks - {}'.format(input_value, s)
      if callable(rule):
          # if rule is a function, run the function and assign it to rule
          rule = rule(input_value)
      # now, assert the rule and return the input value
      assert rule, message
      return input_value
docs: this function allows you to write asserts in generators since there are
          moments where you actually want the program to halt when certain values
          are seen.