When __structuredAttrs = true; the configureFlags var is an array, which means that when setupCompilerEnvironmentPhase uses appendToVar for --extra-include-dirs, --extra-lib-dirs and --extra-framework-dirs, those values are dropped because $configureFlages in the configurePhase only returns the first element.
__structuredAttrs also can break some checks, such as on cabal2nix because LANG and LOCALE_ARCHIVE are not exported.
It would be nice if __structuredAttrs worked because you need it for per output outputChecks when using enableSeparateBinOutput.