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

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