The ring is also not automatically closed on construction or before first use (how should it know you are not going to append more points?). Here is an example construction with repeated closing point.

You also probably want to push the points to the exterior ring, i.e. pol.outer(). Your polygon needs to have an exterior ring, interior rings determine holes. You can directly construct the polygon without interior rings: