docs: public double areaShoelace() {
      if(points.size() <= 1) {
        return 0.;
      }
      double agg = 0.;
      Iterator<double[]> iter = points.iterator();
      double[] first = iter.next(), cur = null;
      double px = first[0], py = first[1];
      while(iter.hasNext()) {
        cur = iter.next();
        double x = cur[0], y = cur[1];
        agg += x * py - y * px;
        px = x;
        py = y;
      }
      agg += first[0] * py - first[1] * px;
      return Math.abs(agg * .5);
    }