I didn’t think it was accomplishing anything

    scala> class Wrapper(val underlying: String) extends NotNull
    defined class Wrapper

    scala> val foo: Wrapper = null
    <console>:8: error: type mismatch;
     found   : Null(null)
     required: Wrapper
           val foo: Wrapper = null
                              ^

    scala> new Wrapper(null)
    res0: Wrapper = Wrapper@118512af

    scala> implicit def toWrapper(s: String): Wrapper = new Wrapper(s)
    toWrapper: (s: String)Wrapper

    scala> val foo: Wrapper = "str"
    foo: Wrapper = Wrapper@2a5a610b

    scala> val bar: Wrapper = null
    bar: Wrapper = Wrapper@6f7c47bc