title: Why is this implicit instance not seen by the Scala compiler
body: <p>I've defined the following method:</p>
  
  <pre><code>def add(
    prefix: List[String],
    resourceName: String,
    subTree: ResourceTree): ResourceTree = {
    //import ResourceTreeInstances.semigroupInstance
    implicit val dummyInstance = ResourceTreeInstances.semigroupInstance
  
    // Make a resource tree with a single path.
    def mkSinglePathRT(gPrefix: List[String]): ResourceTree = ???
  
  
    this |+| mkSinglePathRT(prefix)
  }
  </code></pre>
  
  <p>As you can see, I need to use the |+| method of <code>Semigroup</code>, defined in the Cats library. I've <a href="https://stackoverflow.com/questions/39621963/defining-a-semigroup-instance-that-depends-on-itself">defined</a> an instance of <code>Semigroup</code> for <code>ResourceTree</code>, however, importing it using the commented import does not work (the <code>|+|</code> operator is not found). Having the <code>dummyInstance</code> above solves the problem, however this does not looks right.</p>
  
  <p>Any idea about why the instance is not brought up by this import?</p>