Rewrites that add or remove members need to be sure to preserve the correct modifiers. This should only be an issue for the "syntax expander" rewriters, not ContractRewriter.
Keywords to be mindful of:
public/private/protected/internal/protected internal (aka internal protected)
static
async
sealed/override/virtual/abstract
unsafe
partial and extern should not be an issue since contracts cannot be applied to partial members.