They way the native interface works now, it gives incentive to generate a huge Frege file with all the native definitions.
This file is hard to maintain, and the more one maintains it, the more unlikely it becomes to regenerate it (i.e. with a new version of native-gen).
The obvious solution is to do the work of native-gen in the compiler itself. Thus, only those definitions that are really needed are created, and errors get corrected early on.