If they aren't just syntactic sugar - how to you think regenerator works? Show me a generator and I show you perfectly fine, synchronous (though verbose) ES5 code doing the exact same thing.
Do you also consider functions to be syntactic sugar? Because you can also implement them in terms of a switch statement.