private Cons(A head, List<A> tail) { this.head = head; this.tail = tail; this.length = tail.length() + 1; }