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

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

varuint = new VarInt ['u8', 'u16', 'u32']

class Utf8String extends Type
	create: -> ''
	bitLength: (v) ->
		l = stringToUtf8(v).length
		varuint.bitLength(l) + 8*l
