base.LListMatchRead[E:imm,mut,read,R:imm,mut,read]

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,