Да, это исключительно визуальная замена. Конечно, есть недостатки.
У нас был прикольный случай, примерно в 2012 году реализация
сложной походовой боёвки в онлайн ММО игре. Шаг - состояние.
Контр-шаг - состояние. Первая итерация - напрямую. Вторая итерация
- на встроенных в C# coroutines, только-только появившихся в C#. В
итоге чуть в дурку не уехали, большинством это просто непонимаемо
как это работает. Выпилили, на третей итерации я написал язык
правил и виртуальную