-- Maybe this is not the smartest way to do it. But what the hell, this works.
-- The idea here is that you specify the upper and lower bounds of your list,
-- in terms of hashes. And you get a list of Commits in between.
revList :: Repository -> [Hash] -> [Hash] -> IO [Commit]
revList _ _ [] = do return []
revList :: Repository -> [Hash] -> [Hash] -> IO [Commit]
revList _ _ [] = do return []
revList _ _ [] = do return []