I am sure you are right about mixing languages being common. My exposure to that is limited though so I am trying to get a feeling of what the trade-offs would be. You are right too about wanting to avoid getting language drivers stuck at particular versions. This happened with the tool I referred to, although customers often believed getting stuck with a language version was an avoidable mistake by the manufacturers. For example, instead the framework could settle for organising code into integration classes without actually generating statements - i.e. one should abstract only what needs to be abstracted for maintainability.