Indeed it was a nice idea to be able to execute any format "for free", and it worked great for the most trivial format known to man (a.out). But the fantasy that BFD actually adequately encapsulates all the object format details so you don't need to know them is no more true for the loader than it is for the linker. It's not even sufficient for ELF.