base.LListMatchRead[E,R]

mut .elem(head: read/imm E, tail: read base.LList[E]): R,
mut .empty: R,
mut .elem(head: read/imm E, tail: read base.LList[E]): R,
mut .empty: R,