     ] unrolled-each-integer
     c' underlying>> ;
 SIMD-INTRINSIC:: (simd-vmerge-tail)      ( a b rep -- c )
-    a b rep 2>rep-array :> ( a' b' )
+    a b rep 2byte>rep-array :> ( a' b' )
     rep <rep-array> :> c'
     rep rep-length 2 /i :> len
     len [| n |

SIMD-INTRINSIC: (simd-vshuffle2-elements) ( a b n rep -- c ) [ rep-length 0 pad-tail ] keep (vshuffle2) ;
SIMD-INTRINSIC: (simd-vshuffle-bytes)    ( a b rep -- c ) drop uchar-16-rep (vshuffle) ;
SIMD-INTRINSIC:: (simd-vmerge-head)      ( a b rep -- c )
    a b rep 2>rep-array :> ( a' b' )
    rep <rep-array> :> c'
    rep rep-length 2 /i [| n |
        n a' nth-unsafe n 2 *     c' set-nth-unsafe

    c' underlying>> ; inline

:: (vshuffle2) ( a b elts rep -- c )
    a rep byte>rep-array :> a'
    b rep byte>rep-array :> b'
    a' b' cord-append :> ab'
    rep <rep-array> :> c'
    elts rep rep-length [| from to |
