You care about correctness, flag resolution, or non-repetitive downloads.
In practice, it runs something like:
“Download a Cabal package and all its dependencies recursively, without building anything.” gtools cabal download
“It’s like wget -r for Haskell, except the robot is drunk and forgot to check the map.” You care about correctness
Pro tip: Wrap it in a script that post-processes with cabal-plan for sanity. Or just use cabal build --only-dependencies --dry-run + a custom downloader. But where’s the fun in that? or non-repetitive downloads. In practice