I still maintain that it is objectively bad design to have a programming language where the default behaviour is to run commands synchronously and then when you have an asynchronous function instead of marking that it does something differently, you make the version that behaves the way everything else is the language does.
*glares at javascript and node*