     }
 
 : make-cumulative ( freq -- chars floats )
-    dup keys >byte-array
-    swap values >double-array unclip [ + ] accumulate swap suffix ;
+    [ keys >byte-array ]
+    [ values >double-array ] bi unclip [ + ] accumulate swap suffix ;
 
 :: select-random ( seed chars floats -- seed elt )
     floats seed random -rot

    chars nth-unsafe ; inline

: make-random-fasta ( seed len chars floats -- seed )
    [ rot drop select-random ] 2curry B{ } map-as print ; inline

: write-description ( desc id -- )
    ">" write write bl print ; inline


:: make-repeat-fasta ( k len alu -- k' )
    [let | kn [ alu length ] |
        len [ k + kn mod alu nth-unsafe ] "" map-as print
        k len +
    ] ; inline

