public override string ToString() { if (IsEmpty()) { return "[]"; } return "[" + head.ToString() + "]"; }