и тот же guard может быть оптимизирован как маловероятно выполняющаяся ветвь кода
а тот же иф в котором что-то есть наоборот в обратную сторону
например свежий гошный компилятор вот это все целиком инлайнит потому что тот иф выполняется практически всегда, а если мьютекс был уже заблокирован то оно уйдет по медленному пути вызывая отдельную функцию