title: Name of Bi - Functor type class with one contravariant and one covariant parameter
body: <p>I'm looking to see if there is a standard typeclass for a Bi-Functor that has one Contravariant parameter and one Covariant parameter.</p>
  
  <p>punching the signature <code>(c -&gt; a) -&gt; (b -&gt; d) -&gt; f a b -&gt; f c d</code> results in nothing that matches.</p>
  
  <p>Basically in Scala I'm looking to do:</p>
  
  <pre><code>trait CoContraBiFunctor[F[_, _]] {
    def ccmap[A, B, C, D](fab: F[A, B])(f: C =&gt; A)(g: B =&gt; D): F[C, D]
  }
  
  implicit val ccFunction: CoContraBiFunctor[Function1] = new CoContraBiFunctor[Function] {
    override def ccmap[A, B, C, D](fab: Function[A, B])(f: C =&gt; A)(g: B =&gt; D): Function[C, D] = new Function[C, D] {
      override def apply(c: C): D = g(fab(f(c)))
    }
  }
  </code></pre>
  
  <p>Anyone have an idea?  I definitely am not the first person to look for this.</p>