length encoded list

a list implementation where the length of the list is encoded in the
type