in aidial_adapter_bedrock/utils/list.py [0:0]
def _gen():
if not lst:
return
prev_val = init(lst[0])
prev_key = key(lst[0])
for elem in lst[1:]:
if prev_key == key(elem):
prev_val = merge(prev_val, elem)
else:
yield prev_val
prev_val = init(elem)
prev_key = key(elem)
yield prev_val