anchor.diff:          |> Set.ofArray
       obj.["stop_words"] <- stopWords
   
  -let incrementCount (obj : Map) word =
  -    let freqs = obj.["freqs"] :?> Dictionary<string, int>
  -    match freqs.TryGetValue word with
  -    | true, n -> freqs.[word] <- n+1
  -    | _ -> freqs.[word] <- 1
  -
  -let dataStorageObj = Map()
  -dataStorageObj.["data"] <- [||]
  -dataStorageObj.["init"] <- 
  -    fun path -> extractWords dataStorageObj path
  -dataStorageObj.["words"] <- 
  -    fun () -> dataStorageObj.["data"]
  -
  -let stopWordsObj = Map()
  -stopWordsObj.["stop_words"] <- Set.empty<string>
  -stopWordsObj.["init"] <- 
  -    fun () -> loadStopWords(stopWordsObj)
  +stopWordsObj.["init"] <- fun () -> loadStopWords stopWordsObj
   stopWordsObj.["is_stop_word"] <- 
       fun word -> 
           (stopWordsObj.["stop_words"] :?> Set<string>)
  
positive.code: type Freqs = Dictionary<string, int>
  let wordFreqsObj = Map()
  wordFreqsObj.["freqs"] <- Freqs()
  wordFreqsObj.["increment_count"] <- 
      fun word -> incrementCount wordFreqsObj word
  wordFreqsObj.["sorted"] <- 
      fun () -> 
          (wordFreqsObj.["freqs"] :?> Freqs)
  
negative.code: 
  type Map = Dictionary<string, obj>
  
  let dataStorageObj = Map()
  dataStorageObj.["data"] <- [||]
  
  let extractWords (obj : Map) path =
      let regex = Regex("[\W_]+")
      obj.["data"] <- 
          regex.Replace(File.ReadAllText path, " ")
               .ToLower()
               .Split()
  
  dataStorageObj.["init"]  <- (extractWords dataStorageObj)
  dataStorageObj.["words"] <- fun () -> dataStorageObj.["data"]
  
  let stopWordsObj = Map()
  stopWordsObj.["stop_words"] <- Set.empty<string>
  
  let loadStopWords (obj : Map) =
      let stopWords = 
  