diff --git a/Makefile b/Makefile
index e10cbd7..8dc3eb4 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,4 @@
-NODE_DIR := $(shell jiri v23-profile env --profile=nodejs V23_TARGET_INSTALLATION_DIR=)
+NODE_DIR := $(shell jiri v23-profile list --info Target.InstallationDir nodejs)
 PATH := node_modules/.bin:$(NODE_DIR)/bin:$(PATH)
 
 NODE_BIN := $(JIRI_ROOT)/release/javascript/core/node_modules/.bin
diff --git a/extension/Makefile b/extension/Makefile
index 7bed861..cc38cc3 100644
--- a/extension/Makefile
+++ b/extension/Makefile
@@ -1,4 +1,4 @@
-NODE_DIR := $(shell jiri v23-profile env --profile=nodejs V23_TARGET_INSTALLATION_DIR=)
+NODE_DIR := $(shell jiri v23-profile list --info Target.InstallationDir nodejs)
 PATH := node_modules/.bin:${NODE_DIR}/bin:$(PATH)
 WSPR_ROOT := $(JIRI_ROOT)/release/go/src/v.io/x/ref/services/wspr
 SHELL := /bin/bash -e -o pipefail
@@ -25,8 +25,8 @@
 	fi; \
 	if [ -f "$(JIRI_ROOT)/.jiri_v23_profiles" -a ! -z "`jiri v23-profile list nacl`" ]; then \
 		echo ">>>>>>> using new profiles"; \
- 		echo GOOS=nacl GOARCH=amd64p32 jiri go --profiles=nacl --target=amd64p32-nacl build -o $2 $1; \
-		GOOS=nacl GOARCH=amd64p32 jiri -v go -v --profiles=nacl --target=amd64p32-nacl build -v -o $2 $1; \
+ 		echo "unset GOARCH GOOS; jiri go --profiles=nacl --target=amd64p32-nacl build -o $2 $1"; \
+		unset GOARCH GOOS; jiri -v go -v --profiles=nacl --target=amd64p32-nacl build -v -o $2 $1; \
 	else \
 		echo ">>>>>>> using old profiles"; \
 		echo GOROOT= JIRI_PROFILE=nacl jiri go build -o $2 $1; \
diff --git a/src/gen-vdl/v.io/v23/security/index.js b/src/gen-vdl/v.io/v23/security/index.js
index 77f87b4..9a2fb4e 100644
--- a/src/gen-vdl/v.io/v23/security/index.js
+++ b/src/gen-vdl/v.io/v23/security/index.js
@@ -329,7 +329,7 @@
 
 
 module.exports.ExpiryCaveatValidationError = makeError('v.io/v23/security.ExpiryCaveatValidation', actions.NO_RETRY, {
-  'en': '{1:}{2:} now({4}) is after expiry({3})',
+  'en': '{1:}{2:} now({3}) is after expiry({4})',
 }, [
   new time.Time()._type,
   new time.Time()._type,
diff --git a/src/gen-vdl/v.io/v23/vom/index.js b/src/gen-vdl/v.io/v23/vom/index.js
index 93f8caf..92e1a41 100644
--- a/src/gen-vdl/v.io/v23/vom/index.js
+++ b/src/gen-vdl/v.io/v23/vom/index.js
@@ -178,6 +178,8 @@
 
   module.exports.WireIdAny = canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_typetypeId))(new vdl.BigInt(1, new Uint8Array([0xf])), true), _typetypeId);
 
+  module.exports.WireIdInt8 = canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_typetypeId))(new vdl.BigInt(1, new Uint8Array([0x10])), true), _typetypeId);
+
   module.exports.WireIdByteList = canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_typetypeId))(new vdl.BigInt(1, new Uint8Array([0x27])), true), _typetypeId);
 
   module.exports.WireIdStringList = canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_typetypeId))(new vdl.BigInt(1, new Uint8Array([0x28])), true), _typetypeId);
diff --git a/src/gen-vdl/v.io/v23/vom/testdata/data80/index.js b/src/gen-vdl/v.io/v23/vom/testdata/data80/index.js
index 3009b03..67280ff 100644
--- a/src/gen-vdl/v.io/v23/vom/testdata/data80/index.js
+++ b/src/gen-vdl/v.io/v23/vom/testdata/data80/index.js
@@ -144,17 +144,17 @@
   'hexValue': "4e00",
 },
 {
-  'name': "[]byte(\"\\x01\\x02\\x03\")",
+  'name': "[]byte(\"\\xff\\x00\\x01\")",
   'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_type2))(new Uint8Array([
+255,
+0,
 1,
-2,
-3,
 ]), true), _type2),
   'typeString': "[]byte",
-  'hex': "804e03010203",
+  'hex': "804e03ff0001",
   'hexVersion': "80",
   'hexType': "",
-  'hexValue': "4e03010203",
+  'hexValue': "4e03ff0001",
 },
 {
   'name': "[]byte(\"adef\")",
@@ -1306,17 +1306,17 @@
   'hexValue': "5200",
 },
 {
-  'name': "types.NByteSlice(\"\\x01\\x02\\x03\")",
+  'name': "types.NByteSlice(\"\\xff\\x00\\x01\")",
   'value': canonicalize.reduce(new types.NByteSlice(new Uint8Array([
+255,
+0,
 1,
-2,
-3,
 ]), true), new types.NByteSlice()._type),
   'typeString': "v.io/v23/vom/testdata/types.NByteSlice []byte",
-  'hex': "80512c030026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e42797465536c6963650102e15203010203",
+  'hex': "80512c030026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e42797465536c6963650102e15203ff0001",
   'hexVersion': "80",
   'hexType': "512c030026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e42797465536c6963650102e1",
-  'hexValue': "5203010203",
+  'hexValue': "5203ff0001",
 },
 {
   'name': "types.NByteSlice(\"abc\")",
@@ -1346,18 +1346,18 @@
   'hexValue': "520000000000",
 },
 {
-  'name': "types.NByteArray(\"\\x01\\x02\\x03\\x00\")",
+  'name': "types.NByteArray(\"\\xff\\x00\\x01\\x00\")",
   'value': canonicalize.reduce(new types.NByteArray(new Uint8Array([
+255,
+0,
 1,
-2,
-3,
 0,
 ]), true), new types.NByteArray()._type),
   'typeString': "v.io/v23/vom/testdata/types.NByteArray [4]byte",
-  'hex': "80512e020026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e42797465417272617901020204e1520001020300",
+  'hex': "80512e020026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e42797465417272617901020204e15200ff000100",
   'hexVersion': "80",
   'hexType': "512e020026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e42797465417272617901020204e1",
-  'hexValue': "520001020300",
+  'hexValue': "5200ff000100",
 },
 {
   'name': "types.NByteArray(\"abcd\")",
@@ -3793,7 +3793,7 @@
 ],
 },
 ]],
-  ["string, []byte, [n]byte, and enum", [
+  ["string and enum", [
 {
   'name': "enum (A)",
   'primaryType': types.NEnum.A._type,
@@ -3801,9 +3801,6 @@
 canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.STRING))("A", true), vdl.types.STRING),
 canonicalize.reduce(new types.NString("A", true), new types.NString()._type),
 types.NEnum.A,
-canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_type2))(new Uint8Array([
-65,
-]), true), _type2),
 ],
 },
 {
@@ -3814,40 +3811,6 @@
 canonicalize.reduce(new types.NString("Brie", true), new types.NString()._type),
 types.BrieEnum.BRIE,
 types.FoodEnum.BRIE,
-canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_type2))(new Uint8Array([
-66,
-114,
-105,
-101,
-]), true), _type2),
-canonicalize.reduce(new types.NByteArray(new Uint8Array([
-66,
-114,
-105,
-101,
-]), true), new types.NByteArray()._type),
-],
-},
-{
-  'name': "[4]byte",
-  'primaryType': new types.NByteArray()._type,
-  'values': [
-canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.STRING))("Bean", true), vdl.types.STRING),
-canonicalize.reduce(new types.NString("Bean", true), new types.NString()._type),
-types.BeanEnum.BEAN,
-types.FoodEnum.BEAN,
-canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_type2))(new Uint8Array([
-66,
-101,
-97,
-110,
-]), true), _type2),
-canonicalize.reduce(new types.NByteArray(new Uint8Array([
-66,
-101,
-97,
-110,
-]), true), new types.NByteArray()._type),
 ],
 },
 {
@@ -3857,22 +3820,6 @@
 canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.STRING))("Cherry", true), vdl.types.STRING),
 canonicalize.reduce(new types.NString("Cherry", true), new types.NString()._type),
 types.FoodEnum.CHERRY,
-canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_type2))(new Uint8Array([
-67,
-104,
-101,
-114,
-114,
-121,
-]), true), _type2),
-canonicalize.reduce(new types.NByteSlice(new Uint8Array([
-67,
-104,
-101,
-114,
-114,
-121,
-]), true), new types.NByteSlice()._type),
 ],
 },
 ]],
diff --git a/src/gen-vdl/v.io/v23/vom/testdata/data81/index.js b/src/gen-vdl/v.io/v23/vom/testdata/data81/index.js
index 8321061..be3a6f9 100644
--- a/src/gen-vdl/v.io/v23/vom/testdata/data81/index.js
+++ b/src/gen-vdl/v.io/v23/vom/testdata/data81/index.js
@@ -144,17 +144,17 @@
   'hexValue': "4e00",
 },
 {
-  'name': "[]byte(\"\\x01\\x02\\x03\")",
+  'name': "[]byte(\"\\xff\\x00\\x01\")",
   'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_type2))(new Uint8Array([
+255,
+0,
 1,
-2,
-3,
 ]), true), _type2),
   'typeString': "[]byte",
-  'hex': "814e03010203",
+  'hex': "814e03ff0001",
   'hexVersion': "81",
   'hexType': "",
-  'hexValue': "4e03010203",
+  'hexValue': "4e03ff0001",
 },
 {
   'name': "[]byte(\"adef\")",
@@ -192,10 +192,10 @@
   'name': "byte(255)",
   'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.BYTE))(255, true), vdl.types.BYTE),
   'typeString': "byte",
-  'hex': "8104ff",
+  'hex': "8104ffff",
   'hexVersion': "81",
   'hexType': "",
-  'hexValue': "04ff",
+  'hexValue': "04ffff",
 },
 {
   'name': "uint16(0)",
@@ -1306,17 +1306,17 @@
   'hexValue': "5200",
 },
 {
-  'name': "types.NByteSlice(\"\\x01\\x02\\x03\")",
+  'name': "types.NByteSlice(\"\\xff\\x00\\x01\")",
   'value': canonicalize.reduce(new types.NByteSlice(new Uint8Array([
+255,
+0,
 1,
-2,
-3,
 ]), true), new types.NByteSlice()._type),
   'typeString': "v.io/v23/vom/testdata/types.NByteSlice []byte",
-  'hex': "81512c030026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e42797465536c6963650102e15203010203",
+  'hex': "81512c030026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e42797465536c6963650102e15203ff0001",
   'hexVersion': "81",
   'hexType': "512c030026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e42797465536c6963650102e1",
-  'hexValue': "5203010203",
+  'hexValue': "5203ff0001",
 },
 {
   'name': "types.NByteSlice(\"abc\")",
@@ -1346,18 +1346,18 @@
   'hexValue': "520000000000",
 },
 {
-  'name': "types.NByteArray(\"\\x01\\x02\\x03\\x00\")",
+  'name': "types.NByteArray(\"\\xff\\x00\\x01\\x00\")",
   'value': canonicalize.reduce(new types.NByteArray(new Uint8Array([
+255,
+0,
 1,
-2,
-3,
 0,
 ]), true), new types.NByteArray()._type),
   'typeString': "v.io/v23/vom/testdata/types.NByteArray [4]byte",
-  'hex': "81512e020026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e42797465417272617901020204e1520001020300",
+  'hex': "81512e020026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e42797465417272617901020204e15200ff000100",
   'hexVersion': "81",
   'hexType': "512e020026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e42797465417272617901020204e1",
-  'hexValue': "520001020300",
+  'hexValue': "5200ff000100",
 },
 {
   'name': "types.NByteArray(\"abcd\")",
@@ -1395,10 +1395,10 @@
   'name': "types.NByte(255)",
   'value': canonicalize.reduce(new types.NByte(255, true), new types.NByte()._type),
   'typeString': "v.io/v23/vom/testdata/types.NByte byte",
-  'hex': "815127000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e427974650102e152ff",
+  'hex': "815127000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e427974650102e152ffff",
   'hexVersion': "81",
   'hexType': "5127000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e427974650102e1",
-  'hexValue': "52ff",
+  'hexValue': "52ffff",
 },
 {
   'name': "types.NUint16(0)",
@@ -3595,6 +3595,112 @@
   'hexType': "5333060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1510403012ae15528000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7431360107e15728000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7433320108e15928000022762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e7436340109e1",
   'hexValue': "52032b2c2d1104000002e1000104e1000206e1000108e1",
 },
+{
+  'name': "int8(0)",
+  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT8))(0, true), vdl.types.INT8),
+  'typeString': "int8",
+  'hex': "812000",
+  'hexVersion': "81",
+  'hexType': "",
+  'hexValue': "2000",
+},
+{
+  'name': "int8(-128)",
+  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT8))(-128, true), vdl.types.INT8),
+  'typeString': "int8",
+  'hex': "8120ffff",
+  'hexVersion': "81",
+  'hexType': "",
+  'hexValue': "20ffff",
+},
+{
+  'name': "int8(127)",
+  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT8))(127, true), vdl.types.INT8),
+  'typeString': "int8",
+  'hex': "8120fffe",
+  'hexVersion': "81",
+  'hexType': "",
+  'hexValue': "20fffe",
+},
+{
+  'name': "types.NInt8(0)",
+  'value': canonicalize.reduce(new types.NInt8(0, true), new types.NInt8()._type),
+  'typeString': "v.io/v23/vom/testdata/types.NInt8 int8",
+  'hex': "815127000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e74380110e15200",
+  'hexVersion': "81",
+  'hexType': "5127000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e74380110e1",
+  'hexValue': "5200",
+},
+{
+  'name': "types.NInt8(-128)",
+  'value': canonicalize.reduce(new types.NInt8(-128, true), new types.NInt8()._type),
+  'typeString': "v.io/v23/vom/testdata/types.NInt8 int8",
+  'hex': "815127000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e74380110e152ffff",
+  'hexVersion': "81",
+  'hexType': "5127000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e74380110e1",
+  'hexValue': "52ffff",
+},
+{
+  'name': "types.NInt8(127)",
+  'value': canonicalize.reduce(new types.NInt8(127, true), new types.NInt8()._type),
+  'typeString': "v.io/v23/vom/testdata/types.NInt8 int8",
+  'hex': "815127000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e74380110e152fffe",
+  'hexVersion': "81",
+  'hexType': "5127000021762e696f2f7632332f766f6d2f74657374646174612f74797065732e4e496e74380110e1",
+  'hexValue': "52fffe",
+},
+{
+  'name': "int8(0)",
+  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT8))(0, true), vdl.types.INT8),
+  'typeString': "int8",
+  'hex': "812000",
+  'hexVersion': "81",
+  'hexType': "",
+  'hexValue': "2000",
+},
+{
+  'name': "int8(1)",
+  'value': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT8))(1, true), vdl.types.INT8),
+  'typeString': "int8",
+  'hex': "812002",
+  'hexVersion': "81",
+  'hexType': "",
+  'hexValue': "2002",
+},
+{
+  'name': "typeobject(int8)",
+  'value': vdl.types.INT8,
+  'typeString': "typeobject",
+  'hex': "811c011000",
+  'hexVersion': "81",
+  'hexType': "",
+  'hexValue': "1c011000",
+},
+{
+  'name': "types.MInt8Slice{-128, -1, 0, 127}",
+  'value': canonicalize.reduce(new types.MInt8Slice([
+-128,
+-1,
+0,
+127,
+], true), new types.MInt8Slice()._type),
+  'typeString': "v.io/v23/vom/testdata/types.MInt8Slice []int8",
+  'hex': "81512c030026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d496e7438536c6963650110e1520704ffff0100fffe",
+  'hexVersion': "81",
+  'hexType': "512c030026762e696f2f7632332f766f6d2f74657374646174612f74797065732e4d496e7438536c6963650110e1",
+  'hexValue': "520704ffff0100fffe",
+},
+{
+  'name': "types.StructAny{Any: int8(1)}",
+  'value': canonicalize.reduce(new types.StructAny({
+  'any': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.INT8))(1, true), vdl.types.INT8),
+}, true), new types.StructAny()._type),
+  'typeString': "v.io/v23/vom/testdata/types.StructAny struct{Any any}",
+  'hex': "815133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e152011004000002e1",
+  'hexVersion': "81",
+  'hexType': "5133060025762e696f2f7632332f766f6d2f74657374646174612f74797065732e537472756374416e7901010003416e79010fe1e1",
+  'hexValue': "52011004000002e1",
+},
 ], true), _type1);
 
   module.exports.CompatTests = canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_type10))(new Map([
@@ -3793,7 +3899,7 @@
 ],
 },
 ]],
-  ["string, []byte, [n]byte, and enum", [
+  ["string and enum", [
 {
   'name': "enum (A)",
   'primaryType': types.NEnum.A._type,
@@ -3801,9 +3907,6 @@
 canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.STRING))("A", true), vdl.types.STRING),
 canonicalize.reduce(new types.NString("A", true), new types.NString()._type),
 types.NEnum.A,
-canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_type2))(new Uint8Array([
-65,
-]), true), _type2),
 ],
 },
 {
@@ -3814,40 +3917,6 @@
 canonicalize.reduce(new types.NString("Brie", true), new types.NString()._type),
 types.BrieEnum.BRIE,
 types.FoodEnum.BRIE,
-canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_type2))(new Uint8Array([
-66,
-114,
-105,
-101,
-]), true), _type2),
-canonicalize.reduce(new types.NByteArray(new Uint8Array([
-66,
-114,
-105,
-101,
-]), true), new types.NByteArray()._type),
-],
-},
-{
-  'name': "[4]byte",
-  'primaryType': new types.NByteArray()._type,
-  'values': [
-canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.STRING))("Bean", true), vdl.types.STRING),
-canonicalize.reduce(new types.NString("Bean", true), new types.NString()._type),
-types.BeanEnum.BEAN,
-types.FoodEnum.BEAN,
-canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_type2))(new Uint8Array([
-66,
-101,
-97,
-110,
-]), true), _type2),
-canonicalize.reduce(new types.NByteArray(new Uint8Array([
-66,
-101,
-97,
-110,
-]), true), new types.NByteArray()._type),
 ],
 },
 {
@@ -3857,22 +3926,6 @@
 canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.STRING))("Cherry", true), vdl.types.STRING),
 canonicalize.reduce(new types.NString("Cherry", true), new types.NString()._type),
 types.FoodEnum.CHERRY,
-canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_type2))(new Uint8Array([
-67,
-104,
-101,
-114,
-114,
-121,
-]), true), _type2),
-canonicalize.reduce(new types.NByteSlice(new Uint8Array([
-67,
-104,
-101,
-114,
-114,
-121,
-]), true), new types.NByteSlice()._type),
 ],
 },
 ]],
diff --git a/src/gen-vdl/v.io/v23/vom/testdata/types/index.js b/src/gen-vdl/v.io/v23/vom/testdata/types/index.js
index 50b6a2a..02a5ffa 100644
--- a/src/gen-vdl/v.io/v23/vom/testdata/types/index.js
+++ b/src/gen-vdl/v.io/v23/vom/testdata/types/index.js
@@ -19,6 +19,7 @@
 var _type1 = new vdl.Type();
 var _type10 = new vdl.Type();
 var _type11 = new vdl.Type();
+var _type12 = new vdl.Type();
 var _type2 = new vdl.Type();
 var _type3 = new vdl.Type();
 var _type4 = new vdl.Type();
@@ -42,6 +43,7 @@
 var _typeListString = new vdl.Type();
 var _typeMBool = new vdl.Type();
 var _typeMByteSlice = new vdl.Type();
+var _typeMInt8Slice = new vdl.Type();
 var _typeMList = new vdl.Type();
 var _typeMMap = new vdl.Type();
 var _typeMStruct = new vdl.Type();
@@ -66,6 +68,7 @@
 var _typeNInt16 = new vdl.Type();
 var _typeNInt32 = new vdl.Type();
 var _typeNInt64 = new vdl.Type();
+var _typeNInt8 = new vdl.Type();
 var _typeNListUint64 = new vdl.Type();
 var _typeNMapUint64String = new vdl.Type();
 var _typeNSetUint64 = new vdl.Type();
@@ -98,39 +101,43 @@
 _type1.kind = vdl.kind.LIST;
 _type1.name = "";
 _type1.elem = vdl.types.ANY;
-_type10.kind = vdl.kind.OPTIONAL;
+_type10.kind = vdl.kind.LIST;
 _type10.name = "";
-_type10.elem = _typeLargeMessageType;
+_type10.elem = vdl.types.BYTE;
 _type11.kind = vdl.kind.OPTIONAL;
 _type11.name = "";
-_type11.elem = _typeLargeAnyMessageType;
+_type11.elem = _typeLargeMessageType;
+_type12.kind = vdl.kind.OPTIONAL;
+_type12.name = "";
+_type12.elem = _typeLargeAnyMessageType;
 _type2.kind = vdl.kind.MAP;
 _type2.name = "";
-_type2.elem = _type3;
-_type2.key = vdl.types.STRING;
-_type3.kind = vdl.kind.LIST;
+_type2.elem = _type1;
+_type2.key = vdl.types.BYTE;
+_type3.kind = vdl.kind.MAP;
 _type3.name = "";
-_type3.elem = vdl.types.TYPEOBJECT;
-_type4.kind = vdl.kind.MAP;
+_type3.elem = _type4;
+_type3.key = vdl.types.STRING;
+_type4.kind = vdl.kind.LIST;
 _type4.name = "";
-_type4.elem = _type5;
-_type4.key = vdl.types.STRING;
-_type5.kind = vdl.kind.LIST;
+_type4.elem = vdl.types.TYPEOBJECT;
+_type5.kind = vdl.kind.MAP;
 _type5.name = "";
-_type5.elem = _typeConvertGroup;
-_type6.kind = vdl.kind.OPTIONAL;
+_type5.elem = _type6;
+_type5.key = vdl.types.STRING;
+_type6.kind = vdl.kind.LIST;
 _type6.name = "";
-_type6.elem = _typeNStruct;
+_type6.elem = _typeConvertGroup;
 _type7.kind = vdl.kind.OPTIONAL;
 _type7.name = "";
-_type7.elem = _typeRecStruct;
-_type8.kind = vdl.kind.MAP;
+_type7.elem = _typeNStruct;
+_type8.kind = vdl.kind.OPTIONAL;
 _type8.name = "";
-_type8.elem = vdl.types.INT64;
-_type8.key = vdl.types.INT64;
-_type9.kind = vdl.kind.LIST;
+_type8.elem = _typeRecStruct;
+_type9.kind = vdl.kind.MAP;
 _type9.name = "";
-_type9.elem = vdl.types.BYTE;
+_type9.elem = vdl.types.INT64;
+_type9.key = vdl.types.INT64;
 _typeAbcStruct.kind = vdl.kind.STRUCT;
 _typeAbcStruct.name = "v.io/v23/vom/testdata/types.AbcStruct";
 _typeAbcStruct.fields = [{name: "A", type: vdl.types.BOOL}, {name: "B", type: vdl.types.STRING}, {name: "C", type: vdl.types.INT64}];
@@ -165,10 +172,10 @@
 _typeFoodEnum.labels = ["Bean", "Brie", "Cherry"];
 _typeLargeAnyMessageType.kind = vdl.kind.STRUCT;
 _typeLargeAnyMessageType.name = "v.io/v23/vom/testdata/types.LargeAnyMessageType";
-_typeLargeAnyMessageType.fields = [{name: "Payload", type: vdl.types.ANY}, {name: "Next", type: _type11}];
+_typeLargeAnyMessageType.fields = [{name: "Payload", type: vdl.types.ANY}, {name: "Next", type: _type12}];
 _typeLargeMessageType.kind = vdl.kind.STRUCT;
 _typeLargeMessageType.name = "v.io/v23/vom/testdata/types.LargeMessageType";
-_typeLargeMessageType.fields = [{name: "Payload", type: _type9}, {name: "Next", type: _type10}];
+_typeLargeMessageType.fields = [{name: "Payload", type: _type10}, {name: "Next", type: _type11}];
 _typeListString.kind = vdl.kind.LIST;
 _typeListString.name = "v.io/v23/vom/testdata/types.ListString";
 _typeListString.elem = vdl.types.STRING;
@@ -177,6 +184,9 @@
 _typeMByteSlice.kind = vdl.kind.LIST;
 _typeMByteSlice.name = "v.io/v23/vom/testdata/types.MByteSlice";
 _typeMByteSlice.elem = vdl.types.BYTE;
+_typeMInt8Slice.kind = vdl.kind.LIST;
+_typeMInt8Slice.name = "v.io/v23/vom/testdata/types.MInt8Slice";
+_typeMInt8Slice.elem = vdl.types.INT8;
 _typeMList.kind = vdl.kind.LIST;
 _typeMList.name = "v.io/v23/vom/testdata/types.MList";
 _typeMList.elem = _typeNListUint64;
@@ -186,7 +196,7 @@
 _typeMMap.key = _typeNFloat32;
 _typeMStruct.kind = vdl.kind.STRUCT;
 _typeMStruct.name = "v.io/v23/vom/testdata/types.MStruct";
-_typeMStruct.fields = [{name: "A", type: vdl.types.BOOL}, {name: "B", type: _typeNBool}, {name: "C", type: _typeMBool}, {name: "D", type: _type6}, {name: "E", type: vdl.types.TYPEOBJECT}, {name: "F", type: vdl.types.ANY}];
+_typeMStruct.fields = [{name: "A", type: vdl.types.BOOL}, {name: "B", type: _typeNBool}, {name: "C", type: _typeMBool}, {name: "D", type: _type7}, {name: "E", type: vdl.types.TYPEOBJECT}, {name: "F", type: vdl.types.ANY}];
 _typeMapOnlyA.kind = vdl.kind.MAP;
 _typeMapOnlyA.name = "v.io/v23/vom/testdata/types.MapOnlyA";
 _typeMapOnlyA.elem = vdl.types.UINT32;
@@ -247,6 +257,8 @@
 _typeNInt32.name = "v.io/v23/vom/testdata/types.NInt32";
 _typeNInt64.kind = vdl.kind.INT64;
 _typeNInt64.name = "v.io/v23/vom/testdata/types.NInt64";
+_typeNInt8.kind = vdl.kind.INT8;
+_typeNInt8.name = "v.io/v23/vom/testdata/types.NInt8";
 _typeNListUint64.kind = vdl.kind.LIST;
 _typeNListUint64.name = "v.io/v23/vom/testdata/types.NListUint64";
 _typeNListUint64.elem = vdl.types.UINT64;
@@ -276,7 +288,7 @@
 _typeRecA.elem = _typeRecA;
 _typeRecStruct.kind = vdl.kind.STRUCT;
 _typeRecStruct.name = "v.io/v23/vom/testdata/types.RecStruct";
-_typeRecStruct.fields = [{name: "A", type: _type7}];
+_typeRecStruct.fields = [{name: "A", type: _type8}];
 _typeRecX.kind = vdl.kind.LIST;
 _typeRecX.name = "v.io/v23/vom/testdata/types.RecX";
 _typeRecX.elem = _typeRecY;
@@ -312,10 +324,10 @@
 _typeStructAny.fields = [{name: "Any", type: vdl.types.ANY}];
 _typeStructManyTypes.kind = vdl.kind.STRUCT;
 _typeStructManyTypes.name = "v.io/v23/vom/testdata/types.StructManyTypes";
-_typeStructManyTypes.fields = [{name: "Bool", type: vdl.types.BOOL}, {name: "AByte", type: vdl.types.BYTE}, {name: "Int16", type: vdl.types.INT16}, {name: "Int32", type: vdl.types.INT32}, {name: "Int64", type: vdl.types.INT64}, {name: "Uint16", type: vdl.types.UINT16}, {name: "Uint32", type: vdl.types.UINT32}, {name: "Uint64", type: vdl.types.UINT64}, {name: "String", type: vdl.types.STRING}, {name: "Bytes", type: _type9}, {name: "Float32", type: vdl.types.FLOAT32}, {name: "Float64", type: vdl.types.FLOAT64}, {name: "Complex64", type: vdl.types.COMPLEX64}, {name: "Complex128", type: vdl.types.COMPLEX128}, {name: "FoodEnum", type: _typeFoodEnum}, {name: "NEnum", type: _typeNEnum}, {name: "NListUint64", type: _typeNListUint64}, {name: "NByteArray", type: _typeNByteArray}, {name: "NArray2Uint64", type: _typeNArray2Uint64}, {name: "NSetUint64", type: _typeNSetUint64}, {name: "NMapUint64String", type: _typeNMapUint64String}, {name: "NStruct", type: _typeNStruct}, {name: "NUnion", type: _typeNUnion}, {name: "TypeObject", type: vdl.types.TYPEOBJECT}];
+_typeStructManyTypes.fields = [{name: "Bool", type: vdl.types.BOOL}, {name: "AByte", type: vdl.types.BYTE}, {name: "Int16", type: vdl.types.INT16}, {name: "Int32", type: vdl.types.INT32}, {name: "Int64", type: vdl.types.INT64}, {name: "Uint16", type: vdl.types.UINT16}, {name: "Uint32", type: vdl.types.UINT32}, {name: "Uint64", type: vdl.types.UINT64}, {name: "String", type: vdl.types.STRING}, {name: "Bytes", type: _type10}, {name: "Float32", type: vdl.types.FLOAT32}, {name: "Float64", type: vdl.types.FLOAT64}, {name: "Complex64", type: vdl.types.COMPLEX64}, {name: "Complex128", type: vdl.types.COMPLEX128}, {name: "FoodEnum", type: _typeFoodEnum}, {name: "NEnum", type: _typeNEnum}, {name: "NListUint64", type: _typeNListUint64}, {name: "NByteArray", type: _typeNByteArray}, {name: "NArray2Uint64", type: _typeNArray2Uint64}, {name: "NSetUint64", type: _typeNSetUint64}, {name: "NMapUint64String", type: _typeNMapUint64String}, {name: "NStruct", type: _typeNStruct}, {name: "NUnion", type: _typeNUnion}, {name: "TypeObject", type: vdl.types.TYPEOBJECT}];
 _typeStructMap.kind = vdl.kind.STRUCT;
 _typeStructMap.name = "v.io/v23/vom/testdata/types.StructMap";
-_typeStructMap.fields = [{name: "Map", type: _type8}];
+_typeStructMap.fields = [{name: "Map", type: _type9}];
 _typeStructOnlyMap.kind = vdl.kind.MAP;
 _typeStructOnlyMap.name = "v.io/v23/vom/testdata/types.StructOnlyMap";
 _typeStructOnlyMap.elem = vdl.types.UINT64;
@@ -325,7 +337,7 @@
 _typeTestCase.fields = [{name: "Name", type: vdl.types.STRING}, {name: "Value", type: vdl.types.ANY}, {name: "TypeString", type: vdl.types.STRING}, {name: "Hex", type: vdl.types.STRING}, {name: "HexVersion", type: vdl.types.STRING}, {name: "HexType", type: vdl.types.STRING}, {name: "HexValue", type: vdl.types.STRING}];
 _typeVomdataStruct.kind = vdl.kind.STRUCT;
 _typeVomdataStruct.name = "v.io/v23/vom/testdata/types.VomdataStruct";
-_typeVomdataStruct.fields = [{name: "EncodeDecodeData", type: _type1}, {name: "CompatData", type: _type2}, {name: "ConvertData", type: _type4}];
+_typeVomdataStruct.fields = [{name: "EncodeDecodeData", type: _type2}, {name: "CompatData", type: _type3}, {name: "ConvertData", type: _type5}];
 _typeXyzStruct.kind = vdl.kind.STRUCT;
 _typeXyzStruct.name = "v.io/v23/vom/testdata/types.XyzStruct";
 _typeXyzStruct.fields = [{name: "X", type: vdl.types.BOOL}, {name: "Y", type: _typeMBool}, {name: "Z", type: vdl.types.STRING}];
@@ -338,6 +350,7 @@
 _type1.freeze();
 _type10.freeze();
 _type11.freeze();
+_type12.freeze();
 _type2.freeze();
 _type3.freeze();
 _type4.freeze();
@@ -361,6 +374,7 @@
 _typeListString.freeze();
 _typeMBool.freeze();
 _typeMByteSlice.freeze();
+_typeMInt8Slice.freeze();
 _typeMList.freeze();
 _typeMMap.freeze();
 _typeMStruct.freeze();
@@ -385,6 +399,7 @@
 _typeNInt16.freeze();
 _typeNInt32.freeze();
 _typeNInt64.freeze();
+_typeNInt8.freeze();
 _typeNListUint64.freeze();
 _typeNMapUint64String.freeze();
 _typeNSetUint64.freeze();
@@ -439,6 +454,7 @@
 module.exports.ListString = (vdl.registry.lookupOrCreateConstructor(_typeListString));
 module.exports.MBool = (vdl.registry.lookupOrCreateConstructor(_typeMBool));
 module.exports.MByteSlice = (vdl.registry.lookupOrCreateConstructor(_typeMByteSlice));
+module.exports.MInt8Slice = (vdl.registry.lookupOrCreateConstructor(_typeMInt8Slice));
 module.exports.MList = (vdl.registry.lookupOrCreateConstructor(_typeMList));
 module.exports.MMap = (vdl.registry.lookupOrCreateConstructor(_typeMMap));
 module.exports.MStruct = (vdl.registry.lookupOrCreateConstructor(_typeMStruct));
@@ -467,6 +483,7 @@
 module.exports.NInt16 = (vdl.registry.lookupOrCreateConstructor(_typeNInt16));
 module.exports.NInt32 = (vdl.registry.lookupOrCreateConstructor(_typeNInt32));
 module.exports.NInt64 = (vdl.registry.lookupOrCreateConstructor(_typeNInt64));
+module.exports.NInt8 = (vdl.registry.lookupOrCreateConstructor(_typeNInt8));
 module.exports.NListUint64 = (vdl.registry.lookupOrCreateConstructor(_typeNListUint64));
 module.exports.NMapUint64String = (vdl.registry.lookupOrCreateConstructor(_typeNMapUint64String));
 module.exports.NSetUint64 = (vdl.registry.lookupOrCreateConstructor(_typeNSetUint64));
diff --git a/src/gen-vdl/v.io/x/ref/lib/vdl/testdata/base/index.js b/src/gen-vdl/v.io/x/ref/lib/vdl/testdata/base/index.js
index addbb1d..0d1ad75 100644
--- a/src/gen-vdl/v.io/x/ref/lib/vdl/testdata/base/index.js
+++ b/src/gen-vdl/v.io/x/ref/lib/vdl/testdata/base/index.js
@@ -51,6 +51,7 @@
 var _typeNamedInt16 = new vdl.Type();
 var _typeNamedInt32 = new vdl.Type();
 var _typeNamedInt64 = new vdl.Type();
+var _typeNamedInt8 = new vdl.Type();
 var _typeNamedList = new vdl.Type();
 var _typeNamedMap = new vdl.Type();
 var _typeNamedSet = new vdl.Type();
@@ -136,7 +137,7 @@
 _typeCompositesArray.elem = _typeComposites;
 _typeKeyScalars.kind = vdl.kind.STRUCT;
 _typeKeyScalars.name = "v.io/x/ref/lib/vdl/testdata/base.KeyScalars";
-_typeKeyScalars.fields = [{name: "A0", type: vdl.types.BOOL}, {name: "A1", type: vdl.types.BYTE}, {name: "A2", type: vdl.types.UINT16}, {name: "A3", type: vdl.types.UINT32}, {name: "A4", type: vdl.types.UINT64}, {name: "A5", type: vdl.types.INT16}, {name: "A6", type: vdl.types.INT32}, {name: "A7", type: vdl.types.INT64}, {name: "A8", type: vdl.types.FLOAT32}, {name: "A9", type: vdl.types.FLOAT64}, {name: "A10", type: vdl.types.COMPLEX64}, {name: "A11", type: vdl.types.COMPLEX128}, {name: "A12", type: vdl.types.STRING}, {name: "B0", type: _typeNamedBool}, {name: "B1", type: _typeNamedByte}, {name: "B2", type: _typeNamedUint16}, {name: "B3", type: _typeNamedUint32}, {name: "B4", type: _typeNamedUint64}, {name: "B5", type: _typeNamedInt16}, {name: "B6", type: _typeNamedInt32}, {name: "B7", type: _typeNamedInt64}, {name: "B8", type: _typeNamedFloat32}, {name: "B9", type: _typeNamedFloat64}, {name: "B10", type: _typeNamedComplex64}, {name: "B11", type: _typeNamedComplex128}, {name: "B12", type: _typeNamedString}];
+_typeKeyScalars.fields = [{name: "A0", type: vdl.types.BOOL}, {name: "A1", type: vdl.types.BYTE}, {name: "A2", type: vdl.types.UINT16}, {name: "A3", type: vdl.types.UINT32}, {name: "A4", type: vdl.types.UINT64}, {name: "A5", type: vdl.types.INT8}, {name: "A6", type: vdl.types.INT16}, {name: "A7", type: vdl.types.INT32}, {name: "A8", type: vdl.types.INT64}, {name: "A9", type: vdl.types.FLOAT32}, {name: "A10", type: vdl.types.FLOAT64}, {name: "A11", type: vdl.types.COMPLEX64}, {name: "A12", type: vdl.types.COMPLEX128}, {name: "A13", type: vdl.types.STRING}, {name: "B0", type: _typeNamedBool}, {name: "B1", type: _typeNamedByte}, {name: "B2", type: _typeNamedUint16}, {name: "B3", type: _typeNamedUint32}, {name: "B4", type: _typeNamedUint64}, {name: "B5", type: _typeNamedInt8}, {name: "B6", type: _typeNamedInt16}, {name: "B7", type: _typeNamedInt32}, {name: "B8", type: _typeNamedInt64}, {name: "B9", type: _typeNamedFloat32}, {name: "B10", type: _typeNamedFloat64}, {name: "B11", type: _typeNamedComplex64}, {name: "B12", type: _typeNamedComplex128}, {name: "B13", type: _typeNamedString}];
 _typeNamedArray.kind = vdl.kind.ARRAY;
 _typeNamedArray.name = "v.io/x/ref/lib/vdl/testdata/base.NamedArray";
 _typeNamedArray.len = 2;
@@ -162,6 +163,8 @@
 _typeNamedInt32.name = "v.io/x/ref/lib/vdl/testdata/base.NamedInt32";
 _typeNamedInt64.kind = vdl.kind.INT64;
 _typeNamedInt64.name = "v.io/x/ref/lib/vdl/testdata/base.NamedInt64";
+_typeNamedInt8.kind = vdl.kind.INT8;
+_typeNamedInt8.name = "v.io/x/ref/lib/vdl/testdata/base.NamedInt8";
 _typeNamedList.kind = vdl.kind.LIST;
 _typeNamedList.name = "v.io/x/ref/lib/vdl/testdata/base.NamedList";
 _typeNamedList.elem = vdl.types.UINT32;
@@ -191,7 +194,7 @@
 _typeNestedArgs.fields = [{name: "Args", type: _typeArgs}];
 _typeScalars.kind = vdl.kind.STRUCT;
 _typeScalars.name = "v.io/x/ref/lib/vdl/testdata/base.Scalars";
-_typeScalars.fields = [{name: "A0", type: vdl.types.BOOL}, {name: "A1", type: vdl.types.BYTE}, {name: "A2", type: vdl.types.UINT16}, {name: "A3", type: vdl.types.UINT32}, {name: "A4", type: vdl.types.UINT64}, {name: "A5", type: vdl.types.INT16}, {name: "A6", type: vdl.types.INT32}, {name: "A7", type: vdl.types.INT64}, {name: "A8", type: vdl.types.FLOAT32}, {name: "A9", type: vdl.types.FLOAT64}, {name: "A10", type: vdl.types.COMPLEX64}, {name: "A11", type: vdl.types.COMPLEX128}, {name: "A12", type: vdl.types.STRING}, {name: "A13", type: vdl.types.ERROR}, {name: "A14", type: vdl.types.ANY}, {name: "A15", type: vdl.types.TYPEOBJECT}, {name: "B0", type: _typeNamedBool}, {name: "B1", type: _typeNamedByte}, {name: "B2", type: _typeNamedUint16}, {name: "B3", type: _typeNamedUint32}, {name: "B4", type: _typeNamedUint64}, {name: "B5", type: _typeNamedInt16}, {name: "B6", type: _typeNamedInt32}, {name: "B7", type: _typeNamedInt64}, {name: "B8", type: _typeNamedFloat32}, {name: "B9", type: _typeNamedFloat64}, {name: "B10", type: _typeNamedComplex64}, {name: "B11", type: _typeNamedComplex128}, {name: "B12", type: _typeNamedString}, {name: "B13", type: _typeNamedEnum}, {name: "B14", type: _typeNamedUnion}];
+_typeScalars.fields = [{name: "A0", type: vdl.types.BOOL}, {name: "A1", type: vdl.types.BYTE}, {name: "A2", type: vdl.types.UINT16}, {name: "A3", type: vdl.types.UINT32}, {name: "A4", type: vdl.types.UINT64}, {name: "A5", type: vdl.types.INT8}, {name: "A6", type: vdl.types.INT16}, {name: "A7", type: vdl.types.INT32}, {name: "A8", type: vdl.types.INT64}, {name: "A9", type: vdl.types.FLOAT32}, {name: "A10", type: vdl.types.FLOAT64}, {name: "A11", type: vdl.types.COMPLEX64}, {name: "A12", type: vdl.types.COMPLEX128}, {name: "A13", type: vdl.types.STRING}, {name: "A14", type: vdl.types.ERROR}, {name: "A15", type: vdl.types.ANY}, {name: "A16", type: vdl.types.TYPEOBJECT}, {name: "B0", type: _typeNamedBool}, {name: "B1", type: _typeNamedByte}, {name: "B2", type: _typeNamedUint16}, {name: "B3", type: _typeNamedUint32}, {name: "B4", type: _typeNamedUint64}, {name: "B5", type: _typeNamedInt8}, {name: "B6", type: _typeNamedInt16}, {name: "B7", type: _typeNamedInt32}, {name: "B8", type: _typeNamedInt64}, {name: "B9", type: _typeNamedFloat32}, {name: "B10", type: _typeNamedFloat64}, {name: "B11", type: _typeNamedComplex64}, {name: "B12", type: _typeNamedComplex128}, {name: "B13", type: _typeNamedString}, {name: "B14", type: _typeNamedEnum}, {name: "B15", type: _typeNamedUnion}];
 _typeScalarsArray.kind = vdl.kind.ARRAY;
 _typeScalarsArray.name = "v.io/x/ref/lib/vdl/testdata/base.ScalarsArray";
 _typeScalarsArray.len = 2;
@@ -229,6 +232,7 @@
 _typeNamedInt16.freeze();
 _typeNamedInt32.freeze();
 _typeNamedInt64.freeze();
+_typeNamedInt8.freeze();
 _typeNamedList.freeze();
 _typeNamedMap.freeze();
 _typeNamedSet.freeze();
@@ -261,6 +265,7 @@
 module.exports.NamedInt16 = (vdl.registry.lookupOrCreateConstructor(_typeNamedInt16));
 module.exports.NamedInt32 = (vdl.registry.lookupOrCreateConstructor(_typeNamedInt32));
 module.exports.NamedInt64 = (vdl.registry.lookupOrCreateConstructor(_typeNamedInt64));
+module.exports.NamedInt8 = (vdl.registry.lookupOrCreateConstructor(_typeNamedInt8));
 module.exports.NamedList = (vdl.registry.lookupOrCreateConstructor(_typeNamedList));
 module.exports.NamedMap = (vdl.registry.lookupOrCreateConstructor(_typeNamedMap));
 module.exports.NamedSet = (vdl.registry.lookupOrCreateConstructor(_typeNamedSet));
@@ -347,15 +352,16 @@
   'a4': new vdl.BigInt(1, new Uint8Array([0x4])),
   'a5': 5,
   'a6': 6,
-  'a7': new vdl.BigInt(1, new Uint8Array([0x7])),
-  'a8': 8,
+  'a7': 7,
+  'a8': new vdl.BigInt(1, new Uint8Array([0x8])),
   'a9': 9,
-  'a10': new vdl.Complex(10.000000, 0.000000),
+  'a10': 10,
   'a11': new vdl.Complex(11.000000, 0.000000),
-  'a12': "abc",
-  'a13': null,
-  'a14': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.BOOL))(false, true), vdl.types.BOOL),
-  'a15': vdl.types.BOOL,
+  'a12': new vdl.Complex(12.000000, 0.000000),
+  'a13': "abc",
+  'a14': null,
+  'a15': canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.BOOL))(false, true), vdl.types.BOOL),
+  'a16': vdl.types.BOOL,
   'b0': true,
   'b1': 1,
   'b2': 2,
@@ -363,14 +369,15 @@
   'b4': new vdl.BigInt(1, new Uint8Array([0x4])),
   'b5': 5,
   'b6': 6,
-  'b7': new vdl.BigInt(1, new Uint8Array([0x7])),
-  'b8': 8,
+  'b7': 7,
+  'b8': new vdl.BigInt(1, new Uint8Array([0x8])),
   'b9': 9,
-  'b10': new vdl.Complex(10.000000, 0.000000),
+  'b10': 10,
   'b11': new vdl.Complex(11.000000, 0.000000),
-  'b12': "abc",
-  'b13': 'B',
-  'b14': { "c": 123 },
+  'b12': new vdl.Complex(12.000000, 0.000000),
+  'b13': "abc",
+  'b14': 'B',
+  'b15': { "c": 123 },
 }, true), _typeScalars);
 
   module.exports.True = canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(vdl.types.BOOL))(true, true), vdl.types.BOOL);
@@ -395,6 +402,8 @@
 
   module.exports.CTypeObject_uint16 = vdl.types.UINT16;
 
+  module.exports.CTypeObject_int8 = vdl.types.INT8;
+
   module.exports.CTypeObject_int16 = vdl.types.INT16;
 
   module.exports.CTypeObject_float32 = vdl.types.FLOAT32;
diff --git a/src/vdl/canonicalize.js b/src/vdl/canonicalize.js
index ae051f3..8474c73 100644
--- a/src/vdl/canonicalize.js
+++ b/src/vdl/canonicalize.js
@@ -329,6 +329,7 @@
     case kind.BYTE:
     case kind.UINT16:
     case kind.UINT32:
+    case kind.INT8:
     case kind.INT16:
     case kind.INT32:
     case kind.FLOAT32:
@@ -585,6 +586,7 @@
     case kind.BYTE:
     case kind.UINT16:
     case kind.UINT32:
+    case kind.INT8:
     case kind.INT16:
     case kind.INT32:
     case kind.FLOAT32:
@@ -957,6 +959,7 @@
     case kind.UINT16:
     case kind.UINT32:
     case kind.UINT64:
+    case kind.INT8:
     case kind.INT16:
     case kind.INT32:
     case kind.INT64:
diff --git a/src/vdl/create-constructor.js b/src/vdl/create-constructor.js
index 3385a3e..eeafb8c 100644
--- a/src/vdl/create-constructor.js
+++ b/src/vdl/create-constructor.js
@@ -25,6 +25,7 @@
     case kind.UINT16:
     case kind.UINT32:
     case kind.UINT64:
+    case kind.INT8:
     case kind.INT16:
     case kind.INT32:
     case kind.INT64:
diff --git a/src/vdl/kind.js b/src/vdl/kind.js
index 2277f2b..c9702a1 100644
--- a/src/vdl/kind.js
+++ b/src/vdl/kind.js
@@ -55,6 +55,11 @@
    * @type {string}
    * @const
    */
+  INT8: 'int8',
+  /**
+   * @type {string}
+   * @const
+   */
   INT16: 'int16',
   /**
    * @type {string}
diff --git a/src/vdl/overflow.js b/src/vdl/overflow.js
index 9b4c195..ad1b5f4 100644
--- a/src/vdl/overflow.js
+++ b/src/vdl/overflow.js
@@ -17,6 +17,8 @@
       return 0xffff;
     case kind.UINT32:
       return 0xffffffff;
+    case kind.INT8:
+      return 0x7f;
     case kind.INT16:
       return 0x7fff;
     case kind.INT32:
@@ -38,6 +40,8 @@
       return 0;
     case kind.UINT32:
       return 0;
+    case kind.INT8:
+      return -0x80;
     case kind.INT16:
       return -0x8000;
     case kind.INT32:
diff --git a/src/vdl/type-compatible.js b/src/vdl/type-compatible.js
index 73e52b0..47d8838 100644
--- a/src/vdl/type-compatible.js
+++ b/src/vdl/type-compatible.js
@@ -235,6 +235,7 @@
     case kind.UINT16:
     case kind.UINT32:
     case kind.UINT64:
+    case kind.INT8:
     case kind.INT16:
     case kind.INT32:
     case kind.INT64:
diff --git a/src/vdl/type-object-from-kind.js b/src/vdl/type-object-from-kind.js
index 8ce6cc0..666d10d 100644
--- a/src/vdl/type-object-from-kind.js
+++ b/src/vdl/type-object-from-kind.js
@@ -236,6 +236,7 @@
     case kind.UINT16:
     case kind.UINT32:
     case kind.UINT64:
+    case kind.INT8:
     case kind.INT16:
     case kind.INT32:
     case kind.INT64:
diff --git a/src/vdl/types.js b/src/vdl/types.js
index 25eb07b..6d12b87 100644
--- a/src/vdl/types.js
+++ b/src/vdl/types.js
@@ -54,6 +54,11 @@
    * @type {module:vanadium.vdl.Type}
    * @const
    */
+  INT8: primitiveType(kind.INT8),
+  /**
+   * @type {module:vanadium.vdl.Type}
+   * @const
+   */
   INT16: primitiveType(kind.INT16),
   /**
    * @type {module:vanadium.vdl.Type}
diff --git a/test/integration/serve.js b/test/integration/serve.js
index 9418c28..44c4b85 100644
--- a/test/integration/serve.js
+++ b/test/integration/serve.js
@@ -80,12 +80,20 @@
 
         waitUntilResolve();
 
-        // The server is not gauranteed to be mounted by the time the serve
-        // call finishes.  We should wait until the name resolves before calling
-        // the callback.  As a side a benefit, this also speeds up the browser
-        // tests, because browspr is quicker than wspr and so it is more likely
-        // to return before the server is mounted.  The normal backoff for
-        // bindTo starts at 100ms, but this code only waits a few milliseconds.
+        // The server is not gauranteed to be mounted by the time the
+        // serve call finishes.  We should wait until the name
+        // resolves before calling the callback.  As a side a benefit,
+        // this also speeds up the browser tests, because browspr is
+        // quicker than wspr and so it is more likely to return before
+        // the server is mounted.  The normal backoff for bindTo
+        // starts at 100ms, but this code only waits a few
+        // milliseconds.  TODO(mattr): I have temporarily set this to
+        // retry at longer intervals. In practice this previous code
+        // (which checked every 10ms) allowed the server up to 0.5s or
+        // so to mount through the proxy.  In the new RPC system it
+        // can take a bit longer.  I upped the number of attempts and
+        // retry time to compensate.  We will eventually optimize this
+        // time back down.
         function waitUntilResolve() {
           var ns = runtime.getNamespace();
           var count = 0;
@@ -95,13 +103,13 @@
             ns.resolve(ctx, name, function(err, s) {
               if (err || s.length === 0) {
                 count++;
-                if (count === 10) {
+                if (count === 20) {
                   return callback(
                     new Error(
                       'Timed out waiting for resolve in serve.js: ' + err),
                     basicRes);
                 }
-                return setTimeout(runResolve, 10);
+                return setTimeout(runResolve, 100);
               }
               completeServe();
             });
@@ -151,4 +159,4 @@
       }
     }
   });
-}
\ No newline at end of file
+}
diff --git a/test/vdl/test-vdl-base.js b/test/vdl/test-vdl-base.js
index 7d4c5f6..47a7dea 100644
--- a/test/vdl/test-vdl-base.js
+++ b/test/vdl/test-vdl-base.js
@@ -48,6 +48,13 @@
   });
   assert.deepEqual(res.val, BigInt.fromNativeNumber(1));
 
+  res = new base.NamedInt8(1);
+  assert.deepEqual(res._type, {
+    kind: kind.INT8,
+    name: 'v.io/x/ref/lib/vdl/testdata/base.NamedInt8',
+  });
+  assert.equal(res.val, 1);
+
   res = new base.NamedInt16(1);
   assert.deepEqual(res._type, {
     kind: kind.INT16,
