Haskell argument parsing library