https://issues.dlang.org/show_bug.cgi?id=15280
--- Comment #1 from Sobirari Muhomori <dfj1esp02 at sneakemail.com> ---
One const method looks enough in your case:
List tail() const
{
assert(root);
auto n = root.next;
return List(n);
}
--