Thanks for posting this!
I plan to get the examples updated to use new systems that support OTP 20 shortly, but it’s a good idea to start using a tool like asdf to manage your tool versions anyway because this is a recurring problem every time there’s a new major release of OTP. In fact, after the examples are updated, they will no longer work for people still using OTP 19, so it’s really best to be able to easily control the version you want to use for a given project like asdf allows using the asdf local erlang 20.0 command. This is due to the fact that Nerves requires that the version of OTP running on your computer is the same as the one running on the target platform, but the target has OTP built-in so that it can cross-compile the code for you.