code: def _combine_attribute(attr_1, attr_2, len_1, len_2):
          
          if isinstance(attr_1, list) or isinstance(attr_2, list):
              attribute = np.concatenate((attr_1, attr_2), axis=0)
              attribute_changes = True
          else:
              if isinstance(attr_1, list) and isinstance(attr_2, list) and np.allclose(attr_1, attr_2):
                  attribute = attr_1
                  attribute_changes = False
              else:
                  attribute = [attr_1.copy()] * len_1 if type(attr_1) != list else attr_1.copy()
                  attribute.extend([attr_2.copy()] * len_2 if type(attr_2 != list) else attr_2.copy())
                  attribute_changes = True
          return attribute, attribute_changes
docs: Helper function to combine trajectory properties such as site_properties or lattice