> Would cabal-install need to link in all these maintained libraries statically? Or would there be some plug-in mechanism to load them on demand?

well the libraries would need to be official and some with the packager.​

the formats would be perfectly interchangeable i.e.
cabal -> standard_type -> yaml -> standard_type -> json -> standard_type -> cabal
would produce the same cabal file 

only 1 config file per package to avoid confusion

however if the user prefers working with format F, they can always convert the format which came with the package, to F

the file can always be validated by virtue of parsing and reproducing the original file without errors.


it comes at a price of duplicated efforts however it would give every choice one can wish for. If one must use yaml, they use yaml etc.