code: def unify_basis(self, keys=None, basis=None):
          
          if keys is None:
              keys = [k for k, v in self.data.items() if isinstance(v, Curve)]
          else:
              keys = utils.flatten_list(keys)
  
          if basis is None:
              basis = self.survey_basis(keys=keys)
          if basis is None:
              m = "No basis was provided and welly could not retrieve common basis."
              raise WellError(m)
  
          for k in keys:
              if keys and (k not in keys):
                  continue
              try:  # To treat as a curve.
                  self.data[k] = self.data[k].to_basis(basis)
              except:  # It's probably a striplog.
                  continue
  
          return
docs: Give everything, or everything in the list of keys, the same basis.
          If you don't provide a basis, welly will try to get one using
          ``survey_basis()``.
  
          Args:
              basis (ndarray): A basis: the regularly sampled depths at which
                  you want the samples.
              keys (list): List of strings: the keys of the data items to
                  unify, if not all of them.
  
          Returns:
              None. Works in place.