[CS] Fix logic determining parens for non-optional `weak` diagnostic
We were previously checking the optional type,
which would never say that parens were needed.
Unwrap the type before checking, ensuring we
correctly handle e.g protocol compositions.