   [coll]
   (apply (partial map vector) coll))
 
-(defn outer-product
-  "returns a flattened vector of the outer product of a vector and its
-  transpose"
-  [coll]
-  (let [mat (i/matrix coll)]
-    (flatten (i/mmult mat (i/trans mat)))))
-
 (defn element-sum
   "returns a vector of sums of each respective element in a vector of vectors,
   i.e., a vector with the first element being the sum of the first

  (let [S (:fitted (s/linear-model coll (k-harmonic-matrix freq k coll)))]
    (map #(+ (average coll) %)
         (apply (partial map -) [coll S]))))

;; ## WHOOPBANG :: Collect the short-term drop associated with a
;; ## time-series

  TODO: remove redundancy, keep readability"
  [y & x]
  (let [foc (apply first-order-conditions y x)]
    [(element-sum (map i/kronecker (transpose foc)))
     (element-sum (map i/kronecker (transpose (map i/cumulative-sum foc))))]))

(defn hansen-stat
  "returns the Hansen (1992) test statistic; number of first-order
