title: ScalaPB TypeMapper for custom primitive wrappers not found
body: <p>I am using </p>
  
  <pre><code>addSbtPlugin("com.thesamet" % "sbt-protoc" % "0.99.23")
  libraryDependencies += "com.thesamet.scalapb" %% "compilerplugin" % "0.9.0-M7"
  </code></pre>
  
  <p>I have some custom primitive wrappers (we are not using google wrappers) </p>
  
  <pre class="lang-proto prettyprint-override"><code>syntax = "proto3";
  
  package com.github.piotrkowalczuk.ntypes;
  
  // Int32 represents a int32 that may be nil.
  message Int32 {
      int32 int32 = 1;
      bool valid = 2;
  }
  </code></pre>
  
  <p>and then I would like to use the primitive wrapper message <code>Int32</code> in another message but with automatically unnesting the wrapped value in Scala case class:</p>
  
  <pre class="lang-proto prettyprint-override"><code>syntax = "proto3";
  
  package com.github.fpopic;
  
  import "scalapb/scalapb.proto";
  import "ntypes.proto";
  
  message Usage {
      com.github.piotrkowalczuk.ntypes.Int32 ntype_primitive = 1 [(scalapb.field).type = "Option[Int]"];
  }
  </code></pre>
  
  <p>and I created a simple <code>Main.scala</code> to specify custom <code>TypeMapper</code></p>
  
  <pre class="lang-scala prettyprint-override"><code>package com.github.fpopic
  
  import com.github.piotrkowalczuk.ntypes.ntypes.Int32
  import scalapb.TypeMapper
  
  object Main {
  
    implicit val ntypeInt32ToInt: TypeMapper[Int32, Option[Int]] =
      TypeMapper[Int32, Option[Int]] {
        ntypeInt32: Int32 =&gt; if (ntypeInt32.valid) Some(ntypeInt32.int32) else None
      } {
        optInt: Option[Int] =&gt; Int32(optInt.getOrElse(0), valid = optInt.isDefined)
      }
  
    def main(args: Array[String]): Unit = {
  
      implicitly[TypeMapper[Int32, Option[Int]]]
  
      val u: Usage = new Usage(
        ntypePrimitive = Option(1234)
      )
  
    }
  }
  </code></pre>
  
  <p>So would like to get in Scala <code>Option[Int]</code> instead of <code>Option[Int32]</code> or even <code>Option[Option[Int]]</code> that gets double-wrapped because every <code>message</code> gets <code>Option</code> automatically.</p>
  
  <p>but I am getting error:</p>
  
  <pre><code>No TypeMapper found for conversion between com.github.piotrkowalczuk.ntypes.ntypes.Int32 and Option[Int].
  </code></pre>