public long size() {
    // If we haven't seen k elements yet, the size is exactly the size of ts
    if (intersectable && ts.size() < k) {
      return ts.size();
    }
    return (long)Math.round(estimateSize(M, a));
  }