You can stuff all the info into an object and use it this way, no problem. I just wanted to point out that this doesn’t have zero performance impact compared to what you currently have.
So (depending on how your OS caches files) you might not want to do this like twice in a lambda that you pass to an iterator over a huge slice or something.
Compared to Arch(-based): Accesing the latest packages. It’s not impossible, especially if you go for Debian testing repos, but it’s definitely extra work.
Compared to special-purpose distros (i.e. gaming, portable, high security/privacy, pen-testing): Whatever their special purpose is will usually be harder to achieve.
Compared to huge corpo distros (SUSE/Fedora and derivatives): Ease of more intricate setups and maybe some security testing.
Compared to Ubuntu: Paying a corporation to not withhold security patches from you.