                   (gr-assoc gr :best-agree (assoc comment-conv-stats :tid tid))
                   gr))))
           result
-          (zip ids comment-stats)))
+          (zip ids stats)))
       ; initialize result hash
       (into {} (map #(vector % {:best nil :best-agree nil :sufficient []}) ids)))
     ; If no sufficient, use best; otherwise sort sufficient and take 5

         map
         (fn [& vote-cols-for-groups]
           (->>
             (mapv initial-comment-stats vote-cols-for-groups)
             (mapv-rest add-comparitive-stats)))))})



    (count (filter filt-fn votes))))


(def comment-stats-graphimpl
  ; The graph implementation is in a closure so that we don't reify classes every time function is called.
  ; This can cause PermGen space crashes. This is used for both consensus and repness comments.
  (gr/eager-compile
    {:na (fnk [votes] (count-votes votes -1))
     :nd (fnk [votes] (count-votes votes  1))
     :ns (fnk [votes] (count-votes votes))
     ; XXX - Change when we flip votes!!!
     :pa (fnk [na ns] (/ (+ 1 na) (+ 2 ns)))
     :pd (fnk [nd ns] (/ (+ 1 nd) (+ 2 ns)))
     :pat (fnk [na ns] (prop-test na ns))
     :pdt (fnk [nd ns] (prop-test nd ns))}))


(defn- comment-stats
  "Vote count stats for a given vote column. This vote column should represent the votes for a specific
  comment and group. Comparisons _between_ groups happen later. See `(doc conv-repness)` for key details."
  [vote-col]
  (comment-stats-graphimpl {:votes vote-col}))


(defn- add-comparitive-stats
  "Builds on results of comment-stats by doing comparisons _between_ groups. Args are
  in group stats (as returned by comment-stats), and list of stats for rest of groups.
  See `(doc conv-repness)` for key details."
  [in-stats rest-stats]
  (assoc in-stats
