improve error message on invalid @:op function signature (closes #2787)
run add_field_inits on macro types (closes #2766)