 		for name, i in @members
 			@index[name] = i
 		@bits = bitsNeeded @members.length - 1
+	create: -> @members[0]
 	bitLength: -> @bits
 	unpackFrom: (r) -> @members[r.readBits @bits]
 	packInto: (w, v) ->


class Primitive extends Type
	constructor: (@t, @bits, @min, @max) -> super(); @t += @bits
	bitLength: -> @bits
	unpackFrom: (r) -> r[@t]()
	packInto: (w, v) -> w[@t] v


class List extends Type
	constructor: (@type) -> super()
	create: -> []
	bitLength: (v) ->
		s = varuint.bitLength v.length
		for x in v
