docs: def store(self, variables, attributes, check_encoding_set=frozenset(),
                writer=None, unlimited_dims=None):
          """
          Top level method for putting data on this store, this method:
            - encodes variables/attributes
            - sets dimensions
            - sets variables
  
          Parameters
          ----------
          variables : dict-like
              Dictionary of key/value (variable name / xr.Variable) pairs
          attributes : dict-like
              Dictionary of key/value (attribute name / attribute) pairs
          check_encoding_set : list-like
              List of variables that should be checked for invalid encoding
              values
          writer : ArrayWriter
          unlimited_dims : list-like
              List of dimension names that should be treated as unlimited
              dimensions.
          """
          if writer is None:
              writer = ArrayWriter()
  
          variables, attributes = self.encode(variables, attributes)
  
          self.set_attributes(attributes)
          self.set_dimensions(variables, unlimited_dims=unlimited_dims)
          self.set_variables(variables, check_encoding_set, writer,
                             unlimited_dims=unlimited_dims)