     {
         [ %slot-literal-any-tag LWZ ] H{
             { +input+ { { f "obj" } { [ small-slot? ] "n" } } }
-            { +scratch+ { { f "scratch" } { f "val" } } }
+            { +scratch+ { { f "scratch1" } { f "val" } } }
             { +output+ { "val" } }
         }
     }

    "obj" get operand-tag - ;

: %slot-literal-any-tag
    "obj" operand "scratch" operand %untag
    "val" operand "scratch" operand "n" get cells ;

: %slot-any
    "obj" operand "scratch" operand %untag
    "offset" operand "n" operand 1 SRAWI
    "scratch" operand "val" operand "offset" operand ;

\ slot {
    ! Slot number is literal and the tag is known

    {
        [ %slot-any LWZX ] H{
            { +input+ { { f "obj" } { f "n" } } }
            { +scratch+ { { f "val" } { f "scratch1" } { f "offset" } } }
            { +output+ { "val" } }
        }
    }
