different fix for syntax.effect.id being incompatible with syntax.id that avoids breaking binary compat