diff --git a/extra/sequences/extras/extras.factor b/extra/sequences/extras/extras.factor index a515a9dba5..6805f7a268 100644 --- a/extra/sequences/extras/extras.factor +++ b/extra/sequences/extras/extras.factor @@ -119,9 +119,9 @@ IN: sequences.extras cut prepend ; :: rotate! ( seq n -- ) - seq length :> end - n 0 n [ 2dup = ] [ - [ seq exchange ] [ [ 1 + ] bi@ ] 2bi + n seq bounds-check length :> end + 0 n [ 2dup = ] [ + [ seq exchange-unsafe ] [ [ 1 + ] bi@ ] 2bi dup end = [ drop over ] when 2over = [ -rot nip over ] when ] until 3drop ;