anchor.diff:          GoogleFinanceSearchSymbol: string;
       }
   
  +    type CommodityConfigs = Map<Commodity, CommodityConfig>
  +
       type CommodityPrice = {
           Date: System.DateTime;
           Commodity: Commodity;
  
positive.code:         | false -> 
              List.Empty
  
      let printCommodityConfigs (configs : list<CommodityConfig>) =
          let printCommodityConfig (config : CommodityConfig) =
              printfn "%s %s" config.Commodity config.GoogleFinanceSearchSymbol
          List.iter printCommodityConfig configs
  
  
      (*********************************************************************
          SCRATCH
      *********************************************************************)
  
      let usages = [{Commodity = "TDB900"; FirstAppeared = new System.DateTime(2008, 3, 28); ZeroBalanceDate = None}]
      //let configs = [{Commodity = "TDB900"; GoogleFinanceSearchSymbol = "MUTF_CA:TDB900"}]
  
      let path = @"C:\Users\Mark\Nexus\Documents\finances\ledger\tdb900.html"
      let prices_path = @"C:\Users\Mark\Nexus\Documents\finances\ledger\.pricedb"
      let config_path = @"C:\Users\Mark\Nexus\Documents\finances\ledger\ledger.config"
      let url = "https://www.google.com/finance/historical?q=MUTF_CA%3ATDB900&startdate=Mar+28%2C+2008&enddate=Jun+28%2C+2014&num=60"
      //let url_full = "https://www.google.com/finance/historical?q=NASDAQ%3AGOOGL&startdate=Apr+24%2C+2007&enddate=Jun+17%2C+2014&num=30&start=30"
      
      let configs = deserializeCommodityConfig config_path
      printCommodityConfigs configs
  //    let cpDB = fetchPricesForCommodity usage config None
  //    let priceDB : PriceDB = Map.ofSeq <| seq { yield cpDB }
  //    printPriceDB priceDB
  //    savePriceDB prices_path priceDB
  
      //let priceDB = loadPriceDB prices_path
      //printPriceDB priceDB
      
      //let newPriceDB = updatePriceDB usages configs priceDB
      //savePriceDB prices_path newPriceDB
  //    savePriceDB prices_path priceDB
      
  //    let html = readFile path
  
negative.code: 
  (*
      There's actually quite a bit I need to handle
          [x] Need commodity, first appeared, zero balance date, query string
              - Query string will have to come from a config file
          [x] Need existing known prices loaded
          [x] Determine if we need to attempt to retrieve new prices for a particular commodity
  