caveats: * on windows we'll have to assume UTF-8 * we probably should wait for https://github.com/haskell/filepath/pull/202 (or `os-string` package) to get cleaner access to certain functions context: https://github.com/haskell/tar/issues/6#issuecomment-1817491759