ну если весь код с ними писать то гарантируют. Пару багов я нашел, но в целом мне просто приятнее, что если убрать проверку на нулл то код не компилируется. Я все проверки на нулл заменил на if (foo is {} notNullFoo), и у тебя тупо не выйдет обратиться к нуллу потому что к foo я запрещяю обращаться (на уровне ревью, но мб напишу линт)
А с do нотацией типо for s in string? “Foo” Пробовал шаманить?