Rename `x T` to `x: T` for vars
diff --git a/lang/check/check_test.go b/lang/check/check_test.go
index b052361..8db41ef 100644
--- a/lang/check/check_test.go
+++ b/lang/check/check_test.go
@@ -64,14 +64,14 @@
 		)
 
 		pri func foo.bar() {
-			var x base.u8
-			var y base.i32
-			var z base.u64[..= 123]
-			var a array[4] base.u8
-			var b base.bool
+			var x : base.u8
+			var y : base.i32
+			var z : base.u64[..= 123]
+			var a : array[4] base.u8
+			var b : base.bool
 
-			var p base.i32
-			var q base.i32[0 ..= 8]
+			var p : base.i32
+			var q : base.i32[0 ..= 8]
 
 			x = 0
 			x = 1 + (x * 0)
@@ -206,9 +206,9 @@
 	for s, wantInt64 := range testCases {
 		src := "pri func foo() {\n"
 		if s[0] == 'b' {
-			src += "var b base.bool\n"
+			src += "var b : base.bool\n"
 		} else {
-			src += "var i base.i32\n"
+			src += "var i : base.i32\n"
 		}
 		src += s + "\n}\n"
 
diff --git a/lang/parse/parse.go b/lang/parse/parse.go
index 73fda31..5f443b9 100644
--- a/lang/parse/parse.go
+++ b/lang/parse/parse.go
@@ -1038,6 +1038,11 @@
 	if err != nil {
 		return nil, err
 	}
+	if x := p.peek1(); x != t.IDColon {
+		got := p.tm.ByID(x)
+		return nil, fmt.Errorf(`parse: expected ":", got %q at %s:%d`, got, p.filename, p.line())
+	}
+	p.src = p.src[1:]
 	typ, err := p.parseTypeExpr()
 	if err != nil {
 		return nil, err
diff --git a/std/adler32/common_adler32.wuffs b/std/adler32/common_adler32.wuffs
index c0f0733..cecee49 100644
--- a/std/adler32/common_adler32.wuffs
+++ b/std/adler32/common_adler32.wuffs
@@ -22,10 +22,10 @@
 	// The Adler-32 checksum's magic 65521 and 5552 numbers are discussed in
 	// this package's README.md.
 
-	var s1        base.u32
-	var s2        base.u32
-	var remaining slice base.u8
-	var p         slice base.u8
+	var s1        : base.u32
+	var s2        : base.u32
+	var remaining : slice base.u8
+	var p         : slice base.u8
 
 	if not this.started {
 		this.started = true
diff --git a/std/crc32/common_crc32.wuffs b/std/crc32/common_crc32.wuffs
index 2de80ca..d86bea9 100644
--- a/std/crc32/common_crc32.wuffs
+++ b/std/crc32/common_crc32.wuffs
@@ -21,8 +21,8 @@
 // to signal "initializer not called"? Should the return type, in the generated
 // C code, be "struct{ uint32_t checksum; wuffs_crc32__status status }"?
 pub func ieee_hasher.update!(x: slice base.u8) base.u32 {
-	var s base.u32
-	var p slice base.u8
+	var s : base.u32
+	var p : slice base.u8
 
 	s = 0xFFFFFFFF ^ this.state
 
diff --git a/std/deflate/decode_deflate.wuffs b/std/deflate/decode_deflate.wuffs
index d21e904..2b233bb 100644
--- a/std/deflate/decode_deflate.wuffs
+++ b/std/deflate/decode_deflate.wuffs
@@ -135,9 +135,9 @@
 )
 
 pub func decoder.add_history!(hist: slice base.u8) {
-	var s            slice base.u8
-	var n_copied     base.u64
-	var already_full base.u32[..= 0x8000]
+	var s            : slice base.u8
+	var n_copied     : base.u64
+	var already_full : base.u32[..= 0x8000]
 
 	s = args.hist
 	if s.length() >= 0x8000 {
@@ -184,8 +184,8 @@
 }
 
 pub func decoder.decode_io_writer?(dst: base.io_writer, src: base.io_reader, workbuf: slice base.u8) {
-	var mark   base.u64
-	var status base.status
+	var mark   : base.u64
+	var status : base.status
 
 	while true {
 		mark = args.dst.mark()
@@ -202,10 +202,10 @@
 }
 
 pri func decoder.decode_blocks?(dst: base.io_writer, src: base.io_reader) {
-	var final  base.u32
-	var b0     base.u32[..= 255]
-	var type   base.u32
-	var status base.status
+	var final  : base.u32
+	var b0     : base.u32[..= 255]
+	var type   : base.u32
+	var status : base.status
 
 	while.outer final == 0 {
 		while this.n_bits < 3,
@@ -260,8 +260,8 @@
 // decode_uncompressed decodes an uncompresed block as per the RFC section
 // 3.2.4.
 pri func decoder.decode_uncompressed?(dst: base.io_writer, src: base.io_reader) {
-	var length   base.u32
-	var n_copied base.u32
+	var length   : base.u32
+	var n_copied : base.u32
 
 	// TODO: make this "if" into a function invariant?
 	//
@@ -293,8 +293,8 @@
 
 // init_fixed_huffman initializes this.huffs as per the RFC section 3.2.6.
 pri func decoder.init_fixed_huffman!() base.status {
-	var i      base.u32
-	var status base.status
+	var i      : base.u32
+	var status : base.status
 
 	while i < 144 {
 		this.code_lengths[i] = 8
@@ -330,23 +330,23 @@
 
 // init_dynamic_huffman initializes this.huffs as per the RFC section 3.2.7.
 pri func decoder.init_dynamic_huffman?(src: base.io_reader) {
-	var bits               base.u32
-	var n_bits             base.u32
-	var b0                 base.u32[..= 255]
-	var n_lit              base.u32[..= 288]
-	var n_dist             base.u32[..= 32]
-	var n_clen             base.u32[..= 19]
-	var i                  base.u32
-	var b1                 base.u32[..= 255]
-	var status             base.status
-	var mask               base.u32[..= 511]
-	var table_entry        base.u32
-	var table_entry_n_bits base.u32[..= 15]
-	var b2                 base.u32[..= 255]
-	var n_extra_bits       base.u32[..= 7]
-	var rep_symbol         base.u8[..= 15]
-	var rep_count          base.u32
-	var b3                 base.u32[..= 255]
+	var bits               : base.u32
+	var n_bits             : base.u32
+	var b0                 : base.u32[..= 255]
+	var n_lit              : base.u32[..= 288]
+	var n_dist             : base.u32[..= 32]
+	var n_clen             : base.u32[..= 19]
+	var i                  : base.u32
+	var b1                 : base.u32[..= 255]
+	var status             : base.status
+	var mask               : base.u32[..= 511]
+	var table_entry        : base.u32
+	var table_entry_n_bits : base.u32[..= 15]
+	var b2                 : base.u32[..= 255]
+	var n_extra_bits       : base.u32[..= 7]
+	var rep_symbol         : base.u8[..= 15]
+	var rep_count          : base.u32
+	var b3                 : base.u32[..= 255]
 
 	bits = this.bits
 	n_bits = this.n_bits
@@ -507,30 +507,30 @@
 // TODO: make named constants for 15, 19, 319, etc.
 
 pri func decoder.init_huff!(which: base.u32[..= 1], n_codes0: base.u32[..= 288], n_codes1: base.u32[..= 320], base_symbol: base.u32) base.status {
-	var counts            array[16] base.u16[..= 320]
-	var i                 base.u32
-	var remaining         base.u32
-	var offsets           array[16] base.u16[..= 320]
-	var n_symbols         base.u32[..= 320]
-	var count             base.u32[..= 320]
-	var symbols           array[320] base.u16[..= 319]
-	var min_cl            base.u32[..= 9]
-	var max_cl            base.u32[..= 15]
-	var initial_high_bits base.u32
-	var prev_cl           base.u32[..= 15]
-	var prev_redirect_key base.u32
-	var top               base.u32[..= huffs_table_size]
-	var next_top          base.u32[..= huffs_table_size]
-	var code              base.u32
-	var key               base.u32
-	var value             base.u32
-	var cl                base.u32[..= 15]
-	var redirect_key      base.u32[..= 511]
-	var j                 base.u32[..= 16]
-	var reversed_key      base.u32[..= 511]
-	var symbol            base.u32[..= 319]
-	var high_bits         base.u32
-	var delta             base.u32
+	var counts            : array[16] base.u16[..= 320]
+	var i                 : base.u32
+	var remaining         : base.u32
+	var offsets           : array[16] base.u16[..= 320]
+	var n_symbols         : base.u32[..= 320]
+	var count             : base.u32[..= 320]
+	var symbols           : array[320] base.u16[..= 319]
+	var min_cl            : base.u32[..= 9]
+	var max_cl            : base.u32[..= 15]
+	var initial_high_bits : base.u32
+	var prev_cl           : base.u32[..= 15]
+	var prev_redirect_key : base.u32
+	var top               : base.u32[..= huffs_table_size]
+	var next_top          : base.u32[..= huffs_table_size]
+	var code              : base.u32
+	var key               : base.u32
+	var value             : base.u32
+	var cl                : base.u32[..= 15]
+	var redirect_key      : base.u32[..= 511]
+	var j                 : base.u32[..= 16]
+	var reversed_key      : base.u32[..= 511]
+	var symbol            : base.u32[..= 319]
+	var high_bits         : base.u32
+	var delta             : base.u32
 
 	// For the clcode example in this package's README.md:
 	//  - n_codes0 = 0
diff --git a/std/deflate/decode_huffman_fast.wuffs b/std/deflate/decode_huffman_fast.wuffs
index da55c38..3d9185b 100644
--- a/std/deflate/decode_huffman_fast.wuffs
+++ b/std/deflate/decode_huffman_fast.wuffs
@@ -20,19 +20,19 @@
 	// decode_huffman_*.wuffs files as small as possible, while retaining both
 	// correctness and performance.
 
-	var bits               base.u32
-	var n_bits             base.u32
-	var table_entry        base.u32
-	var table_entry_n_bits base.u32[..= 15]
-	var lmask              base.u32[..= 511]
-	var dmask              base.u32[..= 511]
-	var redir_top          base.u32[..= 0xFFFF]
-	var redir_mask         base.u32[..= 0x7FFF]
-	var length             base.u32[..= 258]
-	var dist_minus_1       base.u32[..= 0x7FFF]
-	var n_copied           base.u32
-	var hlen               base.u32[..= 0x7FFF]
-	var hdist              base.u32
+	var bits               : base.u32
+	var n_bits             : base.u32
+	var table_entry        : base.u32
+	var table_entry_n_bits : base.u32[..= 15]
+	var lmask              : base.u32[..= 511]
+	var dmask              : base.u32[..= 511]
+	var redir_top          : base.u32[..= 0xFFFF]
+	var redir_mask         : base.u32[..= 0x7FFF]
+	var length             : base.u32[..= 258]
+	var dist_minus_1       : base.u32[..= 0x7FFF]
+	var n_copied           : base.u32
+	var hlen               : base.u32[..= 0x7FFF]
+	var hdist              : base.u32
 
 	if (this.n_bits >= 8) or ((this.bits >> (this.n_bits & 7)) <> 0) {
 		return "#internal error: inconsistent n_bits"
diff --git a/std/deflate/decode_huffman_slow.wuffs b/std/deflate/decode_huffman_slow.wuffs
index 58472bf..fb2fed0 100644
--- a/std/deflate/decode_huffman_slow.wuffs
+++ b/std/deflate/decode_huffman_slow.wuffs
@@ -13,25 +13,25 @@
 // limitations under the License.
 
 pri func decoder.decode_huffman_slow?(dst: base.io_writer, src: base.io_reader) {
-	var bits               base.u32
-	var n_bits             base.u32
-	var table_entry        base.u32
-	var table_entry_n_bits base.u32[..= 15]
-	var lmask              base.u32[..= 511]
-	var dmask              base.u32[..= 511]
-	var b0                 base.u32[..= 255]
-	var redir_top          base.u32[..= 0xFFFF]
-	var redir_mask         base.u32[..= 0x7FFF]
-	var b1                 base.u32[..= 255]
-	var length             base.u32[..= 258]
-	var b2                 base.u32[..= 255]
-	var b3                 base.u32[..= 255]
-	var b4                 base.u32[..= 255]
-	var dist_minus_1       base.u32[..= 0x7FFF]
-	var b5                 base.u32[..= 255]
-	var n_copied           base.u32
-	var hlen               base.u32[..= 0x7FFF]
-	var hdist              base.u32
+	var bits               : base.u32
+	var n_bits             : base.u32
+	var table_entry        : base.u32
+	var table_entry_n_bits : base.u32[..= 15]
+	var lmask              : base.u32[..= 511]
+	var dmask              : base.u32[..= 511]
+	var b0                 : base.u32[..= 255]
+	var redir_top          : base.u32[..= 0xFFFF]
+	var redir_mask         : base.u32[..= 0x7FFF]
+	var b1                 : base.u32[..= 255]
+	var length             : base.u32[..= 258]
+	var b2                 : base.u32[..= 255]
+	var b3                 : base.u32[..= 255]
+	var b4                 : base.u32[..= 255]
+	var dist_minus_1       : base.u32[..= 0x7FFF]
+	var b5                 : base.u32[..= 255]
+	var n_copied           : base.u32
+	var hlen               : base.u32[..= 0x7FFF]
+	var hdist              : base.u32
 
 	// When editing this function, consider making the equivalent change to the
 	// decode_huffman_fast function. Keep the diff between the two
diff --git a/std/gif/decode_gif.wuffs b/std/gif/decode_gif.wuffs
index 84ab916..271084c 100644
--- a/std/gif/decode_gif.wuffs
+++ b/std/gif/decode_gif.wuffs
@@ -252,7 +252,7 @@
 }
 
 pub func decoder.decode_image_config?(dst: nptr base.image_config, src: base.io_reader) {
-	var ffio base.bool
+	var ffio : base.bool
 
 	if this.call_sequence == 0 {
 		this.decode_header?(src: args.src)
@@ -398,9 +398,9 @@
 }
 
 pub func decoder.decode_frame_config?(dst: nptr base.frame_config, src: base.io_reader) {
-	var blend            base.u8
-	var background_color base.u32
-	var flags            base.u8
+	var blend            : base.u8
+	var background_color : base.u32
+	var flags            : base.u8
 
 	this.ignore_metadata = true
 	this.dirty_max_excl_y = 0
@@ -469,8 +469,8 @@
 }
 
 pri func decoder.skip_frame?(src: base.io_reader) {
-	var flags base.u8
-	var lw    base.u8
+	var flags : base.u8
+	var lw    : base.u8
 
 	// Skip the optional Local Color Table, 3 bytes (RGB) per entry.
 	flags = args.src.read_u8?()
@@ -523,7 +523,7 @@
 }
 
 pri func decoder.decode_up_to_id_part1?(src: base.io_reader) {
-	var block_type base.u8
+	var block_type : base.u8
 
 	if not this.restarted {
 		if this.call_sequence <> 2 {
@@ -563,8 +563,8 @@
 //
 // See the spec section 17 "Header" on page 7.
 pri func decoder.decode_header?(src: base.io_reader) {
-	var c array[6] base.u8
-	var i base.u32
+	var c : array[6] base.u8
+	var i : base.u32
 
 	while i < 6 {
 		c[i] = args.src.read_u8?()
@@ -580,12 +580,12 @@
 //
 // See the spec section 18 "Logical Screen Descriptor" on page 8.
 pri func decoder.decode_lsd?(src: base.io_reader) {
-	var flags                  base.u8
-	var background_color_index base.u8
-	var num_palette_entries    base.u32[..= 256]
-	var i                      base.u32
-	var j                      base.u32[..= 1020]
-	var argb                   base.u32
+	var flags                  : base.u8
+	var background_color_index : base.u8
+	var num_palette_entries    : base.u32[..= 256]
+	var i                      : base.u32
+	var j                      : base.u32[..= 1020]
+	var argb                   : base.u32
 
 	this.width = args.src.read_u16le_as_u32?()
 	this.height = args.src.read_u16le_as_u32?()
@@ -651,7 +651,7 @@
 //  - section 25 "Plain Text Extension" on page 18.
 //  - section 26 "Application Extension" on page 21.
 pri func decoder.decode_extension?(src: base.io_reader) {
-	var label base.u8
+	var label : base.u8
 
 	label = args.src.read_u8?()
 	if label == 0xF9 {  // The spec calls 0xF9 the "Graphic Control Label".
@@ -667,7 +667,7 @@
 }
 
 pri func decoder.skip_blocks?(src: base.io_reader) {
-	var block_size base.u8
+	var block_size : base.u8
 
 	while true {
 		block_size = args.src.read_u8?()
@@ -700,12 +700,12 @@
 
 // decode_ae reads an Application Extension.
 pri func decoder.decode_ae?(src: base.io_reader) {
-	var c           base.u8
-	var block_size  base.u8
-	var is_animexts base.bool
-	var is_netscape base.bool
-	var is_iccp     base.bool
-	var is_xmp      base.bool
+	var c           : base.u8
+	var block_size  : base.u8
+	var is_animexts : base.bool
+	var is_netscape : base.bool
+	var is_iccp     : base.bool
+	var is_xmp      : base.bool
 
 	// This "while true" always executes exactly once, as it ends with a
 	// "break", but using "break"s throughout simplifies the control flow.
@@ -813,9 +813,9 @@
 
 // decode_gc reads a Graphic Control.
 pri func decoder.decode_gc?(src: base.io_reader) {
-	var c                        base.u8
-	var flags                    base.u8
-	var gc_duration_centiseconds base.u16
+	var c                        : base.u8
+	var flags                    : base.u8
+	var gc_duration_centiseconds : base.u16
 
 	c = args.src.read_u8?()
 	if c <> 4 {
@@ -888,14 +888,14 @@
 }
 
 pri func decoder.decode_id_part1?(dst: ptr base.pixel_buffer, src: base.io_reader) {
-	var flags               base.u8
-	var which_palette       base.u8[..= 1]
-	var num_palette_entries base.u32[..= 256]
-	var i                   base.u32
-	var argb                base.u32
-	var dst_palette         slice base.u8
-	var status              base.status
-	var lw                  base.u8
+	var flags               : base.u8
+	var which_palette       : base.u8[..= 1]
+	var num_palette_entries : base.u32[..= 256]
+	var i                   : base.u32
+	var argb                : base.u32
+	var dst_palette         : slice base.u8
+	var status              : base.status
+	var lw                  : base.u8
 
 	flags = args.src.read_u8?()
 	if (flags & 0x40) <> 0 {
@@ -993,15 +993,15 @@
 }
 
 pri func decoder.decode_id_part2?(dst: ptr base.pixel_buffer, src: base.io_reader, workbuf: slice base.u8) {
-	var block_size      base.u64[..= 255]
-	var need_block_size base.bool
-	var n_compressed    base.u64
-	var compressed      slice base.u8
-	var r               base.io_reader
-	var mark            base.u64
-	var lzw_status      base.status
-	var copy_status     base.status
-	var uncompressed    slice base.u8
+	var block_size      : base.u64[..= 255]
+	var need_block_size : base.bool
+	var n_compressed    : base.u64
+	var compressed      : slice base.u8
+	var r               : base.io_reader
+	var mark            : base.u64
+	var lzw_status      : base.status
+	var copy_status     : base.status
+	var uncompressed    : slice base.u8
 
 	need_block_size = true
 	while.outer true {
@@ -1094,20 +1094,20 @@
 
 pri func decoder.copy_to_image_buffer!(pb: ptr base.pixel_buffer, src: slice base.u8) base.status {
 	// TODO: don't assume an interleaved pixel format.
-	var dst             slice base.u8
-	var src             slice base.u8
-	var width_in_bytes  base.u64
-	var n               base.u64
-	var src_ri          base.u64
-	var bytes_per_pixel base.u32[..= 64]
-	var pixfmt_channels base.u32
-	var tab             table base.u8
-	var i               base.u64
-	var j               base.u64
-	var replicate_y0    base.u32
-	var replicate_y1    base.u32
-	var replicate_dst   slice base.u8
-	var replicate_src   slice base.u8
+	var dst             : slice base.u8
+	var src             : slice base.u8
+	var width_in_bytes  : base.u64
+	var n               : base.u64
+	var src_ri          : base.u64
+	var bytes_per_pixel : base.u32[..= 64]
+	var pixfmt_channels : base.u32
+	var tab             : table base.u8
+	var i               : base.u64
+	var j               : base.u64
+	var replicate_y0    : base.u32
+	var replicate_y1    : base.u32
+	var replicate_dst   : slice base.u8
+	var replicate_src   : slice base.u8
 
 	// TODO: a Wuffs (not just C) name for the WUFFS_BASE__PIXEL_FORMAT__ETC
 	// magic pixfmt constants. Also, support more formats.
diff --git a/std/gzip/decode_gzip.wuffs b/std/gzip/decode_gzip.wuffs
index 9ccd619..c75a2ce 100644
--- a/std/gzip/decode_gzip.wuffs
+++ b/std/gzip/decode_gzip.wuffs
@@ -43,15 +43,15 @@
 }
 
 pub func decoder.decode_io_writer?(dst: base.io_writer, src: base.io_reader, workbuf: slice base.u8) {
-	var c                   base.u8
-	var flags               base.u8
-	var xlen                base.u16
-	var mark                base.u64
-	var checksum_got        base.u32
-	var decoded_length_got  base.u32
-	var status              base.status
-	var checksum_want       base.u32
-	var decoded_length_want base.u32
+	var c                   : base.u8
+	var flags               : base.u8
+	var xlen                : base.u16
+	var mark                : base.u64
+	var checksum_got        : base.u32
+	var decoded_length_got  : base.u32
+	var status              : base.status
+	var checksum_want       : base.u32
+	var decoded_length_want : base.u32
 
 	// Read the header.
 	c = args.src.read_u8?()
diff --git a/std/lzw/decode_lzw.wuffs b/std/lzw/decode_lzw.wuffs
index 96822f9..af4ae4d 100644
--- a/std/lzw/decode_lzw.wuffs
+++ b/std/lzw/decode_lzw.wuffs
@@ -78,7 +78,7 @@
 }
 
 pub func decoder.decode_io_writer?(dst: base.io_writer, src: base.io_reader, workbuf: slice base.u8) {
-	var i base.u32[..= 8191]
+	var i : base.u32[..= 8191]
 
 	// Initialize read_from state.
 	this.literal_width = 8
@@ -124,23 +124,23 @@
 }
 
 pri func decoder.read_from!(src: base.io_reader) {
-	var clear_code base.u32[..= 256]
-	var end_code   base.u32[..= 257]
+	var clear_code : base.u32[..= 256]
+	var end_code   : base.u32[..= 257]
 
-	var save_code base.u32[..= 4096]
-	var prev_code base.u32[..= 4095]
-	var width     base.u32[..= 12]
-	var bits      base.u32
-	var n_bits    base.u32[..= 31]
-	var output_wi base.u32[..= 8191]
+	var save_code : base.u32[..= 4096]
+	var prev_code : base.u32[..= 4095]
+	var width     : base.u32[..= 12]
+	var bits      : base.u32
+	var n_bits    : base.u32[..= 31]
+	var output_wi : base.u32[..= 8191]
 
-	var code       base.u32[..= 4095]
-	var c          base.u32[..= 4095]
-	var o          base.u32[..= 8191]
-	var steps      base.u32
-	var first_byte base.u8
-	var lm1_b      base.u16[..= 4095]
-	var lm1_a      base.u16[..= 4095]
+	var code       : base.u32[..= 4095]
+	var c          : base.u32[..= 4095]
+	var o          : base.u32[..= 8191]
+	var steps      : base.u32
+	var first_byte : base.u8
+	var lm1_b      : base.u16[..= 4095]
+	var lm1_a      : base.u16[..= 4095]
 
 	clear_code = this.clear_code
 	end_code = this.end_code
@@ -331,8 +331,8 @@
 }
 
 pri func decoder.write_to?(dst: base.io_writer) {
-	var s slice base.u8
-	var n base.u64
+	var s : slice base.u8
+	var n : base.u64
 
 	while this.output_wi > 0 {
 		if this.output_ri > this.output_wi {
@@ -351,7 +351,7 @@
 }
 
 pub func decoder.flush!() slice base.u8 {
-	var s slice base.u8
+	var s : slice base.u8
 
 	if this.output_ri <= this.output_wi {
 		s = this.output[this.output_ri .. this.output_wi]
diff --git a/std/zlib/decode_zlib.wuffs b/std/zlib/decode_zlib.wuffs
index ba7e883..9369b94 100644
--- a/std/zlib/decode_zlib.wuffs
+++ b/std/zlib/decode_zlib.wuffs
@@ -70,11 +70,11 @@
 }
 
 pub func decoder.decode_io_writer?(dst: base.io_writer, src: base.io_reader, workbuf: slice base.u8) {
-	var x             base.u16
-	var checksum_got  base.u32
-	var status        base.status
-	var checksum_want base.u32
-	var mark          base.u64
+	var x             : base.u16
+	var checksum_got  : base.u32
+	var status        : base.status
+	var checksum_want : base.u32
+	var mark          : base.u64
 
 	if this.bad_call_sequence {
 		return base."#bad call sequence"