code: def _sanity_check_coerce_type_outside_of_fold(ir_blocks):
      
      is_in_fold = False
      for first_block, second_block in pairwise(ir_blocks):
          if isinstance(first_block, Fold):
              is_in_fold = True
  
          if not is_in_fold and isinstance(first_block, CoerceType):
              if not isinstance(second_block, (MarkLocation, Filter)):
                  raise AssertionError(u'Expected MarkLocation or Filter after CoerceType, '
                                       u'but none was found: {}'.format(ir_blocks))
  
          if isinstance(second_block, Unfold):
              is_in_fold = False
docs: Ensure that CoerceType not in a @fold are followed by a MarkLocation or Filter block.