Fix constructors for annotation combinations.
Fix incorrect composite generation for empty annotation sets.

Some C++ errors do remain, but they're because the program builder isn't
putting the right annotations on builtins.