-- If there is an opportunity it should make money!
runOpportunity :: Exchange -> [Unit] -> Double
runOpportunity (Exchange m) x = product $ catMaybes (map (flip Map.lookup m) (zip x (tail x)))
runOpportunity :: Exchange -> [Unit] -> Double
runOpportunity (Exchange m) x = product $ catMaybes (map (flip Map.lookup m) (zip x (tail x)))
runOpportunity (Exchange m) x = product $ catMaybes (map (flip Map.lookup m) (zip x (tail x)))