   ; This can cause PermGen space crashes.
   (defn- initial-comment-stats
     "Vote count stats for a given vote column. This vote column should represent the votes for a specific
-    comment and group. Group comparisons happen later."
+    comment and group. Comparisons _between_ groups happen later. See `(doc conv-repness)` for key details."
     [vote-col]
     (initial-comment-stats-graphimpl {:votes vote-col})))
 
 
-(defn- add-comparitive-stats [in-stats rest-stats]
+(defn- add-comparitive-stats
+  "Builds on results of initial-comment-stats by doing comparisons _between_ groups. Args are
+  in group stats (as returned by initial-comment-stats), and list of stats for rest of groups.
+  See `(doc conv-repness)` for key details."
+  [in-stats rest-stats]
   (assoc in-stats
     :ra (/ (:pa in-stats)
            (/ (+ 1 (pc/sum :na rest-stats))



(defn select-rep-comments
  [{:keys [ids stats] :as repness-stats}]
  ; Reduce statistics into a results hash mapping group ids to rep comments
  (->>



(defn conv-repness
  "Computes representativeness (repness) for a given data set, group clustering and base clustering,
  returned as a map `{:ids __ :stats __}`. The `:stats` key maps to a sequences of results, one for each
  group cluster, each of which is a sequence where the positional index corresponds to a particular
  comment, and each value is a hash-map of statistics for the given group/comment. The hash keys obey the
  following legend:
    n=#, p=prob, r=rep, t=test, a=agree, d=disagree, s=seen
  The :ids key maps to a vector of group ids in the same order they appear in the :stats sequence."
  [data group-clusters base-clusters]
  {:ids (map :id group-clusters)
   :stats
     (->> group-clusters
       ; XXX - Base clusters may not be necessary if we use the already compute bucket vote stats
       ; A lazy-seq of 
       (mapv (comp columns get-matrix (partial rowname-subset data) #(group-members % base-clusters)))
       (apply
         map
