diff options
Diffstat (limited to 'lib/kernel/Path.ml')
| -rw-r--r-- | lib/kernel/Path.ml | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/lib/kernel/Path.ml b/lib/kernel/Path.ml index 0814b1c..a6879b6 100644 --- a/lib/kernel/Path.ml +++ b/lib/kernel/Path.ml @@ -122,13 +122,12 @@ let assoc_all handle changes = in (* each step derives from the last; only the steps in between are ours to release *) - List.fold_left + Utilities.List.fold_left (fun current change -> - let* current = current in let* next = assoc_on current change in if current != node then Handle.release current; Ok next ) - (Ok node) + node (children @ List.map (fun (_, key, value) -> key, value) here) in apply [] handle changes |
