solve compilation problem with Asio on Windows
make functions inline
workaround for a VC++ 2015 problem
make_coroutine_generator requires a function that returns void for safety