% proc demo {} {dict merge {a b c d} {e f g h i}}
% tcl::unsupported::disassemble proc demo
ByteCode 0x0x15c2cc10, refCt 1, epoch 15, interp 0x0x15bda5d0 (epoch 15)
  Source "dict merge {a b c d} {e f g h i}"
  Cmds 1, src 32, inst 79, litObjs 2, aux 0, stkDepth 3, code/src 0.00
  Proc 0x0x15c27a70, refCt 1, args 0, compiled locals 4
      slot 0, scalar, temp
      slot 1, scalar, temp
      slot 2, scalar, temp
      slot 3, scalar, temp
  Exception ranges 1, depth 1:
      0: level 0, catch, pc 12-50, catch 62
  Commands 1:
      1: pc 0-77, src 0-31
  Command 1: "dict merge {a b c d} {e f g h i}"
    (0) push1 0 	# "a b c d"
    (2) dup
    (3) verifyDict
    (4) storeScalar1 %v2 	# temp var 2
    (6) pop
    (7) beginCatch4 0
    (12) push1 1 	# "e f g h i"
    (14) dictFirst %v3 	# temp var 3
    (19) jumpTrue1 +24 	# pc 43
    (21) reverse 2
    (26) dictSet 1 %v2 	# temp var 2
    (35) pop
    (36) dictNext %v3 	# temp var 3
    (41) jumpFalse1 -20 	# pc 21
    (43) pop
    (44) pop
    (45) unsetScalar 0 %v3 	# temp var 3
    (51) endCatch
    (52) loadScalar1 %v2 	# temp var 2
    (54) unsetScalar 0 %v2 	# temp var 2
    (60) jump1 +18 	# pc 78
    (62) pushReturnOpts
    (63) pushResult
    (64) endCatch
    (65) unsetScalar 0 %v2 	# temp var 2
    (71) unsetScalar 0 %v3 	# temp var 3
    (77) returnStk
    (78) done