: key-value>> ( cursor -- key value ) [ value>> ] [ key>> ] bi ; : (compress-path') ( source-cursor -- destination-cursor ) dup key-value>> = [ dup value>> with-key (compress-path') dup key-value>> = [ dup value>> set-value ] unless ] unless ;