diff options
Diffstat (limited to 'stdlib/source/library/lux/data/collection/sequence.lux')
-rw-r--r-- | stdlib/source/library/lux/data/collection/sequence.lux | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/stdlib/source/library/lux/data/collection/sequence.lux b/stdlib/source/library/lux/data/collection/sequence.lux index 07ebeba76..746654c57 100644 --- a/stdlib/source/library/lux/data/collection/sequence.lux +++ b/stdlib/source/library/lux/data/collection/sequence.lux @@ -224,10 +224,8 @@ ... If so, a brand-new root must be established, that is ... 1-level taller. (|> sequence - (with@ #root (|> (for [@.old - (: (Hierarchy (:parameter 0)) - (empty_hierarchy []))] - (empty_hierarchy [])) + (with@ #root (|> (`` (: (Hierarchy (~~ (:of val))) + (empty_hierarchy []))) (array.write! 0 {#Hierarchy (value@ #root sequence)}) (array.write! 1 (..path (value@ #level sequence) (value@ #tail sequence))))) (revised@ #level level_up)) @@ -293,10 +291,9 @@ {try.#Success (if (n.< (tail_off sequence_size) idx) (revised@ #root (hierarchy#has (value@ #level sequence) idx val) sequence) - (revised@ #tail (for [@.old - (: (-> (Base (:parameter 0)) (Base (:parameter 0))) - (|>> array.clone (array.write! (branch_idx idx) val)))] - (|>> array.clone (array.write! (branch_idx idx) val))) + (revised@ #tail (`` (: (-> (Base (~~ (:of val))) + (Base (~~ (:of val)))) + (|>> array.clone (array.write! (branch_idx idx) val)))) sequence))} (exception.except ..index_out_of_bounds [sequence idx])))) |