diff --git a/fcore/layer-tree.sml b/fcore/layer-tree.sml index 61790d9..a540420 100644 --- a/fcore/layer-tree.sml +++ b/fcore/layer-tree.sml @@ -17,13 +17,19 @@ struct LEAF => NODE {key = newKey, value = newValue, left = LEAF, right = LEAF} | NODE {key, value, left, right} => if newKey < key then - let val left = insert (newKey, newValue, left) - in NODE {key = key, value = value, left = left, right = right} - end + NODE + { key = key + , value = value + , left = insert (newKey, newValue, left) + , right = right + } else if newKey > key then - let val right = insert (newKey, newValue, right) - in NODE {key = key, value = value, left = left, right = right} - end + NODE + { key = key + , value = value + , left = left + , right = insert (newKey, newValue, right) + } else NODE {key = key, value = newValue, left = left, right = right}