How should having different data pack versions for different Minecraft versions be handled?

I can see two ways of doing this: either having one data pack file for each major Minecraft version (ex. one for 1.20-1.20.4, one for 1.20.5-1.20.6, etc) or using the new overlay feature to make a single file that's compatible with every version. Which one is more practical both from a user and creation standpoint? Are there any downsides to using overlays? In case that's relevant, my data pack contains mostly recipes, loot tables, functions, advancements and predicates.
Continue to help post