I think understanding the why is also important here. Native modules exist essentially for side effects. A bad native module undermines all the safety Elm provides.
If you want to write anything non-trivial in Elm you need to use native modules though because the language doesn't give you access to any of it's "magic"