docs: def share_nans(*arrs) -> tuple:
      """Take a list of nD arrays and return a new list of nD arrays.
  
      The new list is in the same order as the old list.
      If one indexed element in an old array is nan then every element for that
      index in all new arrays in the list is then nan.
  
      Parameters
      ----------
      *arrs : nD arrays.
  
      Returns
      -------
      list
          List of nD arrays in same order as given, with nan indicies syncronized.
      """
      nans = np.zeros(joint_shape(*arrs))
      for arr in arrs:
          nans *= arr
      return tuple([a + nans for a in arrs])