docs: def keys(self):
          """ Returns all row keys
  
          :raise NotImplementedError: if all rows aren't keyed
          :return: all row keys
          """
          if len(self._row_name_list) != len(self._rows):
              raise NotImplementedError("You can't get row keys for a FVM that doesn't have all rows keyed")
  
          return self.row_names()