AnyVal's would probably be sufficient except for the following:
- Instantiation of the MyNewType happens all the time and is not obvious from inspection of the code (generics, use as another type if we implement a trait, etc).
- If we want to call any of the methods on the wrapped type we have to call directly to the wrapped type violating Demeter.
- Verbosity.