filterLatestPrices :: [HawsSpotPrice] -> [HawsSpotPrice]
filterLatestPrices ps = Map.elems $ List.foldl
          (\ m price@HawsSpotPrice{zone=a, instanceType=t, price=p} ->
             let key = (a, t) in
               if Map.member key m then m else Map.insert key price m)
          Map.empty sorted_list
  where sorted_list = (List.reverse . List.sortOn(timestamp)) ps
filterLatestPrices :: [HawsSpotPrice] -> [HawsSpotPrice]
filterLatestPrices ps = Map.elems $ List.foldl
          (\ m price@HawsSpotPrice{zone=a, instanceType=t, price=p} ->
             let key = (a, t) in
               if Map.member key m then m else Map.insert key price m)
          Map.empty sorted_list
  where sorted_list = (List.reverse . List.sortOn(timestamp)) ps
filterLatestPrices ps = Map.elems $ List.foldl
          (\ m price@HawsSpotPrice{zone=a, instanceType=t, price=p} ->
             let key = (a, t) in
               if Map.member key m then m else Map.insert key price m)
          Map.empty sorted_list
  where sorted_list = (List.reverse . List.sortOn(timestamp)) ps