 
 (defn generate-stats
   ""
-  [language]
-  (let [words (corpus/load-wordlist language)
-        pseudo-syllable-freqs (pseudo-syllable-freqs language words)
-        transitions (sound-transitions language words)
+  [& args]
+  (let [words (apply corpus/load-wordlist args)
+        pseudo-syllable-freqs (apply pseudo-syllable-freqs (cons words args))
+        transitions (apply sound-transitions (cons words args))
         initial (positional-sound-transition-freqs :initial transitions)
         medial (positional-sound-transition-freqs :medial transitions)
         final (positional-sound-transition-freqs :final transitions)]

  Create a lookup of key/value pairs where the key is the number
  pseudo-syllables and the associated value is the number of times the given
  pseudo-syllable occurs."
  [language words]
  (frequencies (pseudo-syllable-counts language words)))

(defn sound-transitions
  ""
  [language words]
  (map (comp #(remove nil? %)
             #(mapcat rest %)
             #(re-seq (re-pattern (corpus/re-sound-transitions language)) %))
       words))

(defn flat-sound-transitions
  [language words]
  (flatten (sound-transitions language words)))

(defn positional-sound-transitions
  [position transitions]

    [clojure.set :as set]
    [clojure.string :as string]
    [hxgm30.language.syntagmata.corpus :as corpus]
    [hxgm30.language.syntagmata.lang.core :as lang]
    [hxgm30.language.syntagmata.util :as util]
    [taoensso.timbre :as log])
  (:gen-class))

(defn pseudo-syllables
  ""
  [words & args]
  (map (comp #(if (= % []) [""] %)
             #(string/split % #"_")
             #(string/replace %
                              (re-pattern
                                (str (apply corpus/re-vowel args) "+")) "_"))
       words))

(defn pseudo-syllable-counts
  ""
  [words & args]
  (map count (apply pseudo-syllables (cons words args))))

(defn pseudo-syllable-freqs
  "The intent of this function is to provide information regarding how many
