anchor.diff:  
   (sys.int::define-lap-function sys.int::values-simple-vector ((simple-vector))
     "Returns the elements of SIMPLE-VECTOR as multiple values."
  +  ENTRY-POINT
     (:gc :no-frame :incoming-arguments :rcx :layout #*)
  +  ;; Check arg count.
  +  (mezzano.lap.arm64:subs :xzr :x5 #.(ash 1 sys.int::+n-fixnum-bits+)) ; fixnum 1
  +  (mezzano.lap.arm64:b.ne BAD-ARGUMENTS)
     (mezzano.lap.arm64:stp :x29 :x30 (:pre :sp -16))
  -  (:gc :no-frame :incoming-arguments :rcx :layout #*00)
  +  (:gc :no-frame :layout #*00)
     (mezzano.lap.arm64:add :x29 :sp :xzr)
     (:gc :frame)
  -  ;; Check arg count.
  -  (mezzano.lap.arm64:subs :xzr :x5 #.(ash 1 sys.int::+n-fixnum-bits+)) ; fixnum 1
  -  (mezzano.lap.arm64:b.ne bad-arguments)
     ;; Check type.
     (mezzano.lap.arm64:and :x9 :x0 #b1111)
     (mezzano.lap.arm64:subs :xzr :x9 #.sys.int::+tag-object+)
  -  (mezzano.lap.arm64:b.ne type-error)
  +  (mezzano.lap.arm64:b.ne TYPE-ERROR)
     (mezzano.lap.arm64:ldr :x9 (:object :x0 -1))
     ;; Simple vector object tag is zero.
     (mezzano.lap.arm64:ands :xzr :x9 #.(ash (1- (ash 1 sys.int::+object-type-size+))
                                             sys.int::+object-type-shift+))
  -  (mezzano.lap.arm64:b.ne type-error)
  +  (mezzano.lap.arm64:b.ne TYPE-ERROR)
     ;; Get number of values.
     (mezzano.lap.arm64:adds :x9 :xzr :x9 :lsr #.sys.int::+object-data-shift+)
  -  (mezzano.lap.arm64:b.eq zero-values)
  +  (mezzano.lap.arm64:b.eq ZERO-VALUES)
     (mezzano.lap.arm64:subs :xzr :x9 #.(+ mezzano.supervisor::+thread-mv-slots-size+
                                           5))
  -  (mezzano.lap.arm64:b.cs too-many-values)
  +  (mezzano.lap.arm64:b.cs TOO-MANY-VALUES)
     ;; Set up. X6(RBX) = vector, X5(RCX) = number of values loaded so far, X9(RAX) = total number of values.
     (mezzano.lap.arm64:orr :x6 :xzr :x0)
     (mezzano.lap.arm64:orr :x5 :xzr :xzr)
  
positive.code:   (mezzano.lap.arm64:add :x5 :x5 #.(ash 1 sys.int::+n-fixnum-bits+)) ; fixnum 1
    (mezzano.lap.arm64:ldr :x0 (:object :x6 0))
    (mezzano.lap.arm64:subs :xzr :x9 1)
    (mezzano.lap.arm64:b.eq done)
    (mezzano.lap.arm64:add :x5 :x5 #.(ash 1 sys.int::+n-fixnum-bits+)) ; fixnum 1
    (mezzano.lap.arm64:ldr :x1 (:object :x6 1))
    (mezzano.lap.arm64:subs :xzr :x9 2)
    (mezzano.lap.arm64:b.eq done)
    (mezzano.lap.arm64:add :x5 :x5 #.(ash 1 sys.int::+n-fixnum-bits+)) ; fixnum 1
    (mezzano.lap.arm64:ldr :x2 (:object :x6 2))
    (mezzano.lap.arm64:subs :xzr :x9 3)
    (mezzano.lap.arm64:b.eq done)
    (mezzano.lap.arm64:add :x5 :x5 #.(ash 1 sys.int::+n-fixnum-bits+)) ; fixnum 1
    (mezzano.lap.arm64:ldr :x3 (:object :x6 3))
    (mezzano.lap.arm64:subs :xzr :x9 4)
    (mezzano.lap.arm64:b.eq done)
    (mezzano.lap.arm64:add :x5 :x5 #.(ash 1 sys.int::+n-fixnum-bits+)) ; fixnum 1
    (mezzano.lap.arm64:ldr :x4 (:object :x6 4))
    (mezzano.lap.arm64:subs :xzr :x9 5)
    (mezzano.lap.arm64:b.eq done)
    ;; Registers are populated, now unpack into the MV-area
    (mezzano.lap.arm64:add :x12 :x28 #.(+ (- 8 sys.int::+tag-object+)
                                          (* mezzano.supervisor::+thread-mv-slots+ 8)))
  
negative.code:                                     (* 5 8))) ; Current index.
    (mezzano.lap.arm64:movz :x11 5)
    (:gc :frame :multiple-values 0)
    UNPACK-LOOP
    (mezzano.lap.arm64:ldr :x7 (:x6 :x10))
    (mezzano.lap.arm64:str :x7 (:x12))
    (:gc :frame :multiple-values 1)
  