Sequence data types includes: lists, records and tuples. The elements of these data types are currently represented as flat objects, but should instead be
Seq :: Head -> Tail
Tail :: Seq
This makes it easy to lazily evaluate the elements and also to later introduce streams.