code: def not_equal(array_or_none1, array_or_none2):
      
      if array_or_none1 is None and array_or_none2 is None:
          return False
      elif array_or_none1 is None and array_or_none2 is not None:
          return True
      elif array_or_none1 is not None and array_or_none2 is None:
          return True
      if array_or_none1.shape != array_or_none2.shape:
          return True
      return (array_or_none1 != array_or_none2).any()
docs: Compare two arrays that can also be None or have diffent shapes
      and returns a boolean.
  
      >>> a1 = numpy.array([1])
      >>> a2 = numpy.array([2])
      >>> a3 = numpy.array([2, 3])
      >>> not_equal(a1, a2)
      True
      >>> not_equal(a1, a3)
      True
      >>> not_equal(a1, None)
      True