docs: def create_bootstrap_id_array(obs_id_per_sample):
      """
      Creates a 2D ndarray that contains the 'bootstrap ids' for each replication
      of each unit of observation that is an the set of bootstrap samples.
  
      Parameters
      ----------
      obs_id_per_sample : 2D ndarray of ints.
          Should have one row for each bootsrap sample. Should have one column
          for each observational unit that is serving as a new bootstrap
          observational unit.
  
      Returns
      -------
      bootstrap_id_array : 2D ndarray of ints.
          Will have the same shape as `obs_id_per_sample`. Each element will
          denote the fake observational id in the new bootstrap dataset.
      """
      # Determine the shape of the object to be returned.
      n_rows, n_cols = obs_id_per_sample.shape
      # Create the array of bootstrap ids.
      bootstrap_id_array =\
          np.tile(np.arange(n_cols) + 1, n_rows).reshape((n_rows, n_cols))
      # Return the desired object
      return bootstrap_id_array