///|
priv struct List[A](@list.List[A])

///|
priv struct Tsil[A](@list.List[A])

///|
struct T[A]((List[A], Tsil[A]))