cyclic aliasing or subtyping involving type Id

201 views
Skip to first unread message

Runar Bjarnason

unread,
May 9, 2012, 3:05:47 PM5/9/12
to scala...@googlegroups.com
Hello,

I'm getting a rather unpleasant error, and I'm wondering how I would go about figuring out what the problem is. It's probably relevant to note what Id and Leibniz are:

type Id[+A] = A

trait Leibniz[-L, +H >: L, A >: L <: H, B >: L <: H] {
  def subst[F[_ >: L <: H]](p: F[A]): F[B]
}

I've posted the error on Pastebin:

http://pastebin.com/bWCRpA8E


Any help greatly appreciated.

Thanks!

Runar

Runar Bjarnason

unread,
May 9, 2012, 5:50:08 PM5/9/12
to scala...@googlegroups.com
I have simplified this somewhat by eliminating the Leibniz type altogether. But the error is very similar still:


exception when traversing ((x$27: B) => c.put(x$27)(scalaz.`package`.idInstance))
exception when traversing XF.map[B, A](f.apply(c.pos))(((x$27: B) => c.put(x$27)(scalaz.`package`.idInstance)))
exception when traversing {
  val c: scalaz.package.Id[scalaz.package.Costate[B,scalaz.package.Id[A]]] = Lens.this.run(a);
  XF.map[B, A](f.apply(c.pos))(((x$27: B) => c.put(x$27)(scalaz.`package`.idInstance)))
}
exception when traversing def modf[X[_ >: Nothing <: Any] >: [+_]Nothing <: [+_]Any](f: B => X[B], a: A)(implicit XF: scalaz.Functor[X]): X[A] = {
  val c: scalaz.package.Id[scalaz.package.Costate[B,scalaz.package.Id[A]]] = Lens.this.run(a);
  XF.map[B, A](f.apply(c.pos))(((x$27: B) => c.put(x$27)(scalaz.`package`.idInstance)))
}
exception when traversing java.lang.Object with scalaz.LensT[scalaz.package.Id,scalaz.package.Id,A,B] with ScalaObject {
  def this(): scalaz.Lens[A,B] = {
    Lens.super.this();
    ()
  };
  abstract trait LensLaw extends java.lang.Object with ScalaObject {
    def /*LensLaw*/$init$(): Unit = {
      ()
    };
    def identity(a: A)(implicit A: scalaz.Equal[A]): Boolean = {
      val c: scalaz.package.Costate[B,A] = Lens.this.run(a);
      A.equal(c.put(c.pos)(scalaz.`package`.idInstance), a)
    };
    def retention(a: A, b: B)(implicit B: scalaz.Equal[B]): Boolean = B.equal(Lens.this.run(Lens.this.run(a).put(b)(scalaz.`package`.idInstance)).pos, b);
    def doubleSet(a: A, b1: B, b2: B)(implicit A: scalaz.Equal[A]): Boolean = {
      val r: scalaz.package.Id[scalaz.package.Costate[B,scalaz.package.Id[A]]] = Lens.this.run(a);
      A.equal(Lens.this.run(r.put(b1)(scalaz.`package`.idInstance)).put(b2)(scalaz.`package`.idInstance), r.put(b2)(scalaz.`package`.idInstance))
    }
  };
  def lensLaw: java.lang.Object with Lens.this.LensLaw = {
    final class $anon extends java.lang.Object with Lens.this.LensLaw {
      def this(): anonymous class $anon = {
        $anon.super.this();
        ()
      }
    };
    new $anon()
  };
  def mod(f: B => B, a: A): A = {
    val c: scalaz.package.Id[scalaz.package.Costate[B,scalaz.package.Id[A]]] = Lens.this.run(a);
    <synthetic> private[this] val x$25: (B => scalaz.package.Id[A], B) = (c.run: (B => A, B) @unchecked) match {
      case (_1: B => A, _2: B)(B => A, B)((p @ _), (q @ _)) => new (B => A, B)(p, q)
    };
    val p: B => scalaz.package.Id[A] = x$25._1;
    val q: B = x$25._2;
    p.apply(f.apply(q))
  };
  def =>=(f: B => B): A => A = ((x$26: A) => Lens.this.mod(f, x$26));
  def modf[X[_ >: Nothing <: Any] >: [+_]Nothing <: [+_]Any](f: B => X[B], a: A)(implicit XF: scalaz.Functor[X]): X[A] = {
    val c: scalaz.package.Id[scalaz.package.Costate[B,scalaz.package.Id[A]]] = Lens.this.run(a);
    XF.map[B, A](f.apply(c.pos))(((x$27: B) => c.put(x$27)(scalaz.`package`.idInstance)))
  };
  def =>>=[X[_ >: Nothing <: Any] >: [+_]Nothing <: [+_]Any](f: B => X[B])(implicit XF: scalaz.Functor[X]): A => X[A] = ((x$28: A) => Lens.this.modf[X](f, x$28)(XF));
  def %=(f: B => B): scalaz.package.State[A,B] = scalaz.this.`package`.State.apply[scalaz.package.Id[scalaz.package.Id[A]], B](((a: A) => {
    val c: scalaz.package.Id[scalaz.package.Costate[B,scalaz.package.Id[A]]] = Lens.this.run(a);
    val b: B = f.apply(c.pos);
    new (B, scalaz.package.Id[scalaz.package.Id[A]])(b, c.put(b)(scalaz.`package`.idInstance))
  }));
  def :=(b: => B): scalaz.package.State[A,B] = Lens.this.%=(((x$29: B) => b));
  def %==(f: B => B): scalaz.package.State[A,Unit] = scalaz.this.`package`.State.apply[A, Unit](((a: A) => new (Unit, A)((), Lens.this.mod(f, a))));
  def %%=[C >: Nothing <: Any](s: scalaz.package.State[B,C]): scalaz.package.State[A,C] = scalaz.this.`package`.State.apply[scalaz.package.Id[scalaz.package.Id[A]], C](((a: A) => {
    val x: scalaz.package.Id[scalaz.package.Costate[B,scalaz.package.Id[A]]] = Lens.this.run(a);
    <synthetic> private[this] val x$30: (C, B) = (s.apply(x.pos): (C, B) @unchecked) match {
      case (_1: C, _2: B)(C, B)((c @ _), (b @ _)) => new (C, B)(c, b)
    };
    val c: C = x$30._1;
    val b: B = x$30._2;
    new (C, scalaz.package.Id[scalaz.package.Id[A]])(c, x.put(b)(scalaz.`package`.idInstance))
  }));
  def >-[C >: Nothing <: Any](f: B => C): scalaz.package.State[A,C] = scalaz.this.`package`.State.apply[A, C](((a: A) => new (C, A)(f.apply(Lens.this.get(a)(scalaz.`package`.idInstance)), a)));
  def >>-[C >: Nothing <: Any](f: B => scalaz.package.State[A,C]): scalaz.package.State[A,C] = scalaz.this.`package`.State.apply[A, C](((a: A) => f.apply(Lens.this.get(a)(scalaz.`package`.idInstance)).apply(a)));
  def ->>-[C >: Nothing <: Any](f: => scalaz.package.State[A,C]): scalaz.package.State[A,C] = Lens.this.>>-[C](((x$31: B) => f))
}
exception when traversing abstract class Lens[A >: Nothing <: Any, B >: Nothing <: Any] extends java.lang.Object with scalaz.LensT[scalaz.package.Id,scalaz.package.Id,A,B] with ScalaObject {
  def this(): scalaz.Lens[A,B] = {
    Lens.super.this();
    ()
  };
  abstract trait LensLaw extends java.lang.Object with ScalaObject {
    def /*LensLaw*/$init$(): Unit = {
      ()
    };
    def identity(a: A)(implicit A: scalaz.Equal[A]): Boolean = {
      val c: scalaz.package.Costate[B,A] = Lens.this.run(a);
      A.equal(c.put(c.pos)(scalaz.`package`.idInstance), a)
    };
    def retention(a: A, b: B)(implicit B: scalaz.Equal[B]): Boolean = B.equal(Lens.this.run(Lens.this.run(a).put(b)(scalaz.`package`.idInstance)).pos, b);
    def doubleSet(a: A, b1: B, b2: B)(implicit A: scalaz.Equal[A]): Boolean = {
      val r: scalaz.package.Id[scalaz.package.Costate[B,scalaz.package.Id[A]]] = Lens.this.run(a);
      A.equal(Lens.this.run(r.put(b1)(scalaz.`package`.idInstance)).put(b2)(scalaz.`package`.idInstance), r.put(b2)(scalaz.`package`.idInstance))
    }
  };
  def lensLaw: java.lang.Object with Lens.this.LensLaw = {
    final class $anon extends java.lang.Object with Lens.this.LensLaw {
      def this(): anonymous class $anon = {
        $anon.super.this();
        ()
      }
    };
    new $anon()
  };
  def mod(f: B => B, a: A): A = {
    val c: scalaz.package.Id[scalaz.package.Costate[B,scalaz.package.Id[A]]] = Lens.this.run(a);
    <synthetic> private[this] val x$25: (B => scalaz.package.Id[A], B) = (c.run: (B => A, B) @unchecked) match {
      case (_1: B => A, _2: B)(B => A, B)((p @ _), (q @ _)) => new (B => A, B)(p, q)
    };
    val p: B => scalaz.package.Id[A] = x$25._1;
    val q: B = x$25._2;
    p.apply(f.apply(q))
  };
  def =>=(f: B => B): A => A = ((x$26: A) => Lens.this.mod(f, x$26));
  def modf[X[_ >: Nothing <: Any] >: [+_]Nothing <: [+_]Any](f: B => X[B], a: A)(implicit XF: scalaz.Functor[X]): X[A] = {
    val c: scalaz.package.Id[scalaz.package.Costate[B,scalaz.package.Id[A]]] = Lens.this.run(a);
    XF.map[B, A](f.apply(c.pos))(((x$27: B) => c.put(x$27)(scalaz.`package`.idInstance)))
  };
  def =>>=[X[_ >: Nothing <: Any] >: [+_]Nothing <: [+_]Any](f: B => X[B])(implicit XF: scalaz.Functor[X]): A => X[A] = ((x$28: A) => Lens.this.modf[X](f, x$28)(XF));
  def %=(f: B => B): scalaz.package.State[A,B] = scalaz.this.`package`.State.apply[scalaz.package.Id[scalaz.package.Id[A]], B](((a: A) => {
    val c: scalaz.package.Id[scalaz.package.Costate[B,scalaz.package.Id[A]]] = Lens.this.run(a);
    val b: B = f.apply(c.pos);
    new (B, scalaz.package.Id[scalaz.package.Id[A]])(b, c.put(b)(scalaz.`package`.idInstance))
  }));
  def :=(b: => B): scalaz.package.State[A,B] = Lens.this.%=(((x$29: B) => b));
  def %==(f: B => B): scalaz.package.State[A,Unit] = scalaz.this.`package`.State.apply[A, Unit](((a: A) => new (Unit, A)((), Lens.this.mod(f, a))));
  def %%=[C >: Nothing <: Any](s: scalaz.package.State[B,C]): scalaz.package.State[A,C] = scalaz.this.`package`.State.apply[scalaz.package.Id[scalaz.package.Id[A]], C](((a: A) => {
    val x: scalaz.package.Id[scalaz.package.Costate[B,scalaz.package.Id[A]]] = Lens.this.run(a);
    <synthetic> private[this] val x$30: (C, B) = (s.apply(x.pos): (C, B) @unchecked) match {
      case (_1: C, _2: B)(C, B)((c @ _), (b @ _)) => new (C, B)(c, b)
    };
    val c: C = x$30._1;
    val b: B = x$30._2;
    new (C, scalaz.package.Id[scalaz.package.Id[A]])(c, x.put(b)(scalaz.`package`.idInstance))
  }));
  def >-[C >: Nothing <: Any](f: B => C): scalaz.package.State[A,C] = scalaz.this.`package`.State.apply[A, C](((a: A) => new (C, A)(f.apply(Lens.this.get(a)(scalaz.`package`.idInstance)), a)));
  def >>-[C >: Nothing <: Any](f: B => scalaz.package.State[A,C]): scalaz.package.State[A,C] = scalaz.this.`package`.State.apply[A, C](((a: A) => f.apply(Lens.this.get(a)(scalaz.`package`.idInstance)).apply(a)));
  def ->>-[C >: Nothing <: Any](f: => scalaz.package.State[A,C]): scalaz.package.State[A,C] = Lens.this.>>-[C](((x$31: B) => f))
}
exception when traversing package scalaz {
  sealed abstract trait LensT[F[_ >: Nothing <: Any] >: [+_]Nothing <: [+_]Any, G[_ >: Nothing <: Any] >: [+_]Nothing <: [+_]Any, A >: Nothing <: Any, B >: Nothing <: Any] extends java.lang.Object with ScalaObject {
    def /*LensT*/$init$(): Unit = {
      ()
    };
    def run(a: A): F[scalaz.package.Costate[B,G[A]]];
    def apply(a: A): F[scalaz.package.Costate[B,G[A]]] = LensT.this.run(a);
    def xmapA[X >: Nothing <: Any](f: A => X, g: X => A)(implicit FF: scalaz.Functor[F], GF: scalaz.Functor[G]): scalaz.LensT[F,G,X,B] =
LensT.lensT[F, G, X, B](((x: X) => FF.map[scalaz.CostateT[scalaz.package.Id,B,G[A]], scalaz.CostateT[scalaz.package.Id,B,G[X]]](LensT.this.run(g.apply(x)))(((x$1: scalaz.CostateT[scalaz.package.Id,B,G[A]]) => x$1.map[G[X]](((x$2: G[A]) => GF.map[A, X](x$2)(f)))(scalaz.`package`.idInstance)))));
    def xmapbA[X >: Nothing <: Any](b: scalaz.BijectionT[scalaz.package.Id,scalaz.package.Id,A,X])(implicit FF: scalaz.Functor[F], GF: scalaz.Functor[G]): scalaz.LensT[F,G,X,B] = LensT.this.xmapA[X](((x$3: A) => b.to(x$3)), ((x$4: X) => b.from(x$4)))(FF, GF);
    def xmapB[X >: Nothing <: Any](f: B => X, g: X => B)(implicit FF: scalaz.Functor[F], GF: scalaz.Functor[G]): scalaz.LensT[F,G,A,X] =
LensT.lensT[F, G, A, X](((a: A) => FF.map[scalaz.CostateT[scalaz.package.Id,B,G[A]], scalaz.CostateT[scalaz.package.Id,X,G[A]]](LensT.this.run(a))(((x$5: scalaz.CostateT[scalaz.package.Id,B,G[A]]) => x$5.xmap[X](f, g)(scalaz.`package`.idInstance)))));
    def xmapbB[X >: Nothing <: Any](b: scalaz.BijectionT[scalaz.package.Id,scalaz.package.Id,B,X])(implicit FF: scalaz.Functor[F], GF: scalaz.Functor[G]): scalaz.LensT[F,G,A,X] = LensT.this.xmapB[X](((x$6: B) => b.to(x$6)), ((x$7: X) => b.from(x$7)))(FF, GF);
    def wlift[V >: Nothing <: Any, W >: Nothing <: Any](implicit FF: scalaz.Functor[F], GF: scalaz.Functor[G], MV: scalaz.Monoid[V], MW:
scalaz.Monoid[W]): scalaz.package.LenswT[F,G,V,W,A,B] = LensT.lensT[[+╬▒]scalaz.WriterT[F,V,╬▒], [+╬▒]scalaz.WriterT[G,W,╬▒], A, B](((a:
A) => WriterT.apply[F, V, scalaz.CostateT[scalaz.package.Id,B,scalaz.WriterT[G,W,A]]](FF.map[scalaz.CostateT[scalaz.package.Id,B,G[A]], (V, scalaz.CostateT[scalaz.package.Id,B,scalaz.WriterT[G,W,A]])](LensT.this.run(a))(((e: scalaz.CostateT[scalaz.package.Id,B,G[A]]) => new (V, scalaz.CostateT[scalaz.package.Id,B,scalaz.WriterT[G,W,A]])(MV.zero, e.map[scalaz.WriterT[G,W,A]](((q: G[A]) => WriterT.apply[G, W,
A](GF.map[A, (W, A)](q)(((x$8: A) => new (W, A)(MW.zero, x$8))))))(scalaz.`package`.idInstance)))))));
    def wrunlift[V >: Nothing <: Any, W >: Nothing <: Any](getV: (A, B) => V, set: (A, B, A) => W)(implicit FF: scalaz.Functor[F], GF: scalaz.Functor[G]): scalaz.package.LenswT[F,G,V,W,A,B] = LensT.lensT[[+╬▒]scalaz.WriterT[F,V,╬▒], [+╬▒]scalaz.WriterT[G,W,╬▒], A, B](((a: A) => WriterT.apply[F, V, scalaz.CostateT[scalaz.package.Id,B,scalaz.WriterT[G,W,A]]](FF.map[scalaz.CostateT[scalaz.package.Id,B,G[A]], (V, scalaz.CostateT[scalaz.package.Id,B,scalaz.WriterT[G,W,A]])](LensT.this.run(a))(((e: scalaz.CostateT[scalaz.package.Id,B,G[A]]) => {
      val z: B = e.pos;
      new (V, scalaz.CostateT[scalaz.package.Id,B,scalaz.WriterT[G,W,A]])(getV.apply(a, z), CostateT.costate[B, scalaz.WriterT[G,W,A]](z)(((x: B) => WriterT.apply[G, W, A](GF.map[A, (W, A)](e.put(x)(scalaz.`package`.idInstance))(((q: A) => new (W, A)(set.apply(a, x, q), q)))))))
    })))));
    def hlift(implicit FF: scalaz.Functor[F], GF: scalaz.Functor[G]): scalaz.package.LenshT[F,G,A,B] = LensT.this.wrunlift[java.lang.Object with scalaz.LensGetHistory[A,B], java.lang.Object with scalaz.LensSetHistory[A,B]](((t: A, g: B) => {
      final class $anon extends java.lang.Object with scalaz.LensGetHistory[A,B] {
        def this(): anonymous class $anon = {
          $anon.super.this();
          ()
        };
        private[this] val history: scalaz.DList[(A, B)] = DList.apply[(A, B)](new (A, B)(t, g));
        <stable> <accessor> def history: scalaz.DList[(A, B)] = $anon.this.history
      };
      new $anon()
    }), ((t: A, s: B, r: A) => {
      final class $anon extends java.lang.Object with scalaz.LensSetHistory[A,B] {
        def this(): anonymous class $anon = {
          $anon.super.this();
          ()
        };
        private[this] val history: scalaz.DList[(A, B, A)] = DList.apply[(A, B, A)](new (A, B, A)(t, s, r));
        <stable> <accessor> def history: scalaz.DList[(A, B, A)] = $anon.this.history
      };
      new $anon()
    }))(FF, GF);
    def wrunliftg[V >: Nothing <: Any, W >: Nothing <: Any](getV: (A, B) => V)(implicit FF: scalaz.Functor[F], GF: scalaz.Functor[G], MW: scalaz.Monoid[W]): scalaz.package.LenswT[F,G,V,W,A,B] = LensT.this.wrunlift[V, W](getV, ((x$9: A, x$10: B, x$11: A) => MW.zero))(FF, GF);
    def !![W >: Nothing <: Any](getV: (A, B) => W)(implicit FF: scalaz.Functor[F], GF: scalaz.Functor[G], MW: scalaz.Monoid[W]): scalaz.package.LenswT[F,G,W,W,A,B] = LensT.this.wrunliftg[W, W](getV)(FF, GF, MW);
    def wrunlifts[V >: Nothing <: Any, W >: Nothing <: Any](setV: (A, B, A) => W)(implicit FF: scalaz.Functor[F], GF: scalaz.Functor[G],
MV: scalaz.Monoid[V]): scalaz.package.LenswT[F,G,V,W,A,B] = LensT.this.wrunlift[V, W](((x$12: A, x$13: B) => MV.zero), setV)(FF, GF);
    def !|![V >: Nothing <: Any](setV: (A, B, A) => V)(implicit FF: scalaz.Functor[F], GF: scalaz.Functor[G], MV: scalaz.Monoid[V]): scalaz.package.LenswT[F,G,V,V,A,B] = LensT.this.wrunlifts[V, V](setV)(FF, GF, MV);
    def get(a: A)(implicit F: scalaz.Functor[F]): F[B] = F.map[scalaz.CostateT[scalaz.package.Id,B,G[A]], B](LensT.this.run(a))(((x$14: scalaz.CostateT[scalaz.package.Id,B,G[A]]) => x$14.pos));
    def set(a: A, b: B)(implicit F: scalaz.Functor[F]): F[G[A]] = F.map[scalaz.CostateT[scalaz.package.Id,B,G[A]], G[A]](LensT.this.run(a))(((x$15: scalaz.CostateT[scalaz.package.Id,B,G[A]]) => x$15.put(b)(scalaz.`package`.idInstance)));
    def st(implicit F: scalaz.Functor[F]): scalaz.StateT[F,A,B] = StateT.apply[F, A, B](((s: A) => F.map[B, (B, A)](LensT.this.get(s)(F))(((x$16: B) => new (B, A)(x$16, s)))));
    def compose[C >: Nothing <: Any](that: scalaz.LensT[F,G,C,A])(implicit FF: scalaz.Bind[F], GF: scalaz.Bind[G]): scalaz.LensT[F,G,C,B] = LensT.lensT[F, G, C, B](((c: C) => FF.bind[scalaz.CostateT[scalaz.package.Id,A,G[C]], scalaz.CostateT[scalaz.package.Id,B,G[C]]](that.run(c))(((x: scalaz.CostateT[scalaz.package.Id,A,G[C]]) => {
      <synthetic> private[this] val x$17: (A => G[C], A) = (x.run: (A => G[C], A) @unchecked) match {
        case (_1: A => G[C], _2: A)(A => G[C], A)((ac @ _), (a @ _)) => new (A => G[C], A)(ac, a)
      };
      val ac: A => G[C] = x$17._1;
      val a: A = x$17._2;
      FF.map[scalaz.CostateT[scalaz.package.Id,B,G[A]], scalaz.CostateT[scalaz.package.Id,B,G[C]]](LensT.this.run(a))(((y: scalaz.CostateT[scalaz.package.Id,B,G[A]]) => {
        <synthetic> private[this] val x$18: (B => G[A], B) = (y.run: (B => G[A], B) @unchecked) match {
          case (_1: B => G[A], _2: B)(B => G[A], B)((ba @ _), (b @ _)) => new (B => G[A], B)(ba, b)
        };
        val ba: B => G[A] = x$18._1;
        val b: B = x$18._2;
        Costate.apply[B, G[C]](((x: B) => GF.bind[A, C](ba.apply(x))(ac)), b)
      }))
    }))));
    def <=<[C >: Nothing <: Any](that: scalaz.LensT[F,G,C,A])(implicit FF: scalaz.Bind[F], GF: scalaz.Bind[G]): scalaz.LensT[F,G,C,B] = LensT.this.compose[C](that)(FF, GF);
    def andThen[C >: Nothing <: Any](that: scalaz.LensT[F,G,B,C])(implicit FF: scalaz.Bind[F], GF: scalaz.Bind[G]): scalaz.LensT[F,G,A,C] = that.compose[A](this)(FF, GF);
    def >=>[C >: Nothing <: Any](that: scalaz.LensT[F,G,B,C])(implicit FF: scalaz.Bind[F], GF: scalaz.Bind[G]): scalaz.LensT[F,G,A,C] = LensT.this.andThen[C](that)(FF, GF);
    def sum[C >: Nothing <: Any](that: () => scalaz.LensT[F,G,C,B])(implicit FF: scalaz.Functor[F], GF: scalaz.Functor[G]): scalaz.LensT[F,G,Either[A,C],B] = LensT.lensT[F, G, Either[A,C], B](((x0$1: Either[A,C]) => x0$1 match {
      case (a: A)Left[A,C]((a @ _)) => FF.map[scalaz.CostateT[scalaz.package.Id,B,G[A]], scalaz.CostateT[scalaz.package.Id,B,G[Left[A,Nothing]]]](LensT.this.run(a))(((x$19: scalaz.CostateT[scalaz.package.Id,B,G[A]]) => x$19.map[G[Left[A,Nothing]]](((x$20: G[A]) => GF.map[A, Left[A,Nothing]](x$20)(((x$21: A) => new Left[A,Nothing](x$21)))))(scalaz.`package`.idInstance)))
      case (b: C)Right[A,C]((c @ _)) => FF.map[scalaz.CostateT[scalaz.package.Id,B,G[C]], scalaz.CostateT[scalaz.package.Id,B,G[Right[Nothing,C]]]](that.run(c))(((x$22: scalaz.CostateT[scalaz.package.Id,B,G[C]]) => x$22.map[G[Right[Nothing,C]]](((x$23: G[C]) => GF.map[C, Right[Nothing,C]](x$23)(((x$24: C) => new Right[Nothing,C](x$24)))))(scalaz.`package`.idInstance)))
    }));
    def |||[C >: Nothing <: Any](that: () => scalaz.LensT[F,G,C,B])(implicit FF: scalaz.Functor[F], GF: scalaz.Functor[G]): scalaz.LensT[F,G,Either[A,C],B] = LensT.this.sum[C](that)(FF, GF);
    def product[C >: Nothing <: Any, D >: Nothing <: Any](that: scalaz.LensT[F,G,C,D])(implicit FF: scalaz.Apply[F], GG: scalaz.Apply[G]): scalaz.LensT[F,G,(A, C),(B, D)] = LensT.lensT[F, G, (A, C), (B, D)](((x0$2: (A, C)) => x0$2 match {
      case (_1: A, _2: C)(A, C)((a @ _), (c @ _)) => FF.map2[scalaz.CostateT[scalaz.package.Id,B,G[A]], scalaz.CostateT[scalaz.package.Id,D,G[C]], scalaz.CostateT[scalaz.package.Id,(B, D),G[(A, C)]]](LensT.this.run(a), that.run(c))(((x: scalaz.CostateT[scalaz.package.Id,B,G[A]], y: scalaz.CostateT[scalaz.package.Id,D,G[C]]) => x.***[D, G[C]](y)(scalaz.`package`.idInstance).map[G[(A, C)]](((x0$3: (G[A], G[C])) => x0$3 match {
        case (_1: G[A], _2: G[C])(G[A], G[C])((q @ _), (r @ _)) => GG.map2[A, C, (A, C)](q, r)(((i: A, j: C) => new (A, C)(i, j)))
      }))(scalaz.`package`.idInstance)))
    }));
    def ***[C >: Nothing <: Any, D >: Nothing <: Any](that: scalaz.LensT[F,G,C,D])(implicit FF: scalaz.Apply[F], GG: scalaz.Apply[G]): scalaz.LensT[F,G,(A, C),(B, D)] = LensT.this.product[C, D](that)(FF, GG);
    def partial(implicit F: scalaz.Functor[F]): scalaz.PLensT[F,G,A,B] = PLensT.plensT[F, G, A, B](((a: A) => F.map[scalaz.CostateT[scalaz.package.Id,B,G[A]], Option[scalaz.CostateT[scalaz.package.Id,B,G[A]]]](LensT.this.run(a))(((x: scalaz.CostateT[scalaz.package.Id,B,G[A]]) => (new Some[scalaz.CostateT[scalaz.package.Id,B,G[A]]](x): Option[scalaz.CostateT[scalaz.package.Id,B,G[A]]])))));
    def unary_~(implicit F: scalaz.Functor[F]): scalaz.PLensT[F,G,A,B] = LensT.this.partial(F)
  };
  abstract class Lens[A >: Nothing <: Any, B >: Nothing <: Any] extends java.lang.Object with scalaz.LensT[scalaz.package.Id,scalaz.package.Id,A,B] with ScalaObject {
    def this(): scalaz.Lens[A,B] = {
      Lens.super.this();
      ()
    };
    abstract trait LensLaw extends java.lang.Object with ScalaObject {
      def /*LensLaw*/$init$(): Unit = {
        ()
      };
      def identity(a: A)(implicit A: scalaz.Equal[A]): Boolean = {
        val c: scalaz.package.Costate[B,A] = Lens.this.run(a);
        A.equal(c.put(c.pos)(scalaz.`package`.idInstance), a)
      };
      def retention(a: A, b: B)(implicit B: scalaz.Equal[B]): Boolean = B.equal(Lens.this.run(Lens.this.run(a).put(b)(scalaz.`package`.idInstance)).pos, b);
      def doubleSet(a: A, b1: B, b2: B)(implicit A: scalaz.Equal[A]): Boolean = {
        val r: scalaz.package.Id[scalaz.package.Costate[B,scalaz.package.Id[A]]] = Lens.this.run(a);
        A.equal(Lens.this.run(r.put(b1)(scalaz.`package`.idInstance)).put(b2)(scalaz.`package`.idInstance), r.put(b2)(scalaz.`package`.idInstance))
      }
    };
    def lensLaw: java.lang.Object with Lens.this.LensLaw = {
      final class $anon extends java.lang.Object with Lens.this.LensLaw {
        def this(): anonymous class $anon = {
          $anon.super.this();
          ()
        }
      };
      new $anon()
    };
    def mod(f: B => B, a: A): A = {
      val c: scalaz.package.Id[scalaz.package.Costate[B,scalaz.package.Id[A]]] = Lens.this.run(a);
      <synthetic> private[this] val x$25: (B => scalaz.package.Id[A], B) = (c.run: (B => A, B) @unchecked) match {
        case (_1: B => A, _2: B)(B => A, B)((p @ _), (q @ _)) => new (B => A, B)(p, q)
      };
      val p: B => scalaz.package.Id[A] = x$25._1;
      val q: B = x$25._2;
      p.apply(f.apply(q))
    };
    def =>=(f: B => B): A => A = ((x$26: A) => Lens.this.mod(f, x$26));
    def modf[X[_ >: Nothing <: Any] >: [+_]Nothing <: [+_]Any](f: B => X[B], a: A)(implicit XF: scalaz.Functor[X]): X[A] = {
      val c: scalaz.package.Id[scalaz.package.Costate[B,scalaz.package.Id[A]]] = Lens.this.run(a);
      XF.map[B, A](f.apply(c.pos))(((x$27: B) => c.put(x$27)(scalaz.`package`.idInstance)))
    };
    def =>>=[X[_ >: Nothing <: Any] >: [+_]Nothing <: [+_]Any](f: B => X[B])(implicit XF: scalaz.Functor[X]): A => X[A] = ((x$28: A) => Lens.this.modf[X](f, x$28)(XF));
    def %=(f: B => B): scalaz.package.State[A,B] = scalaz.this.`package`.State.apply[scalaz.package.Id[scalaz.package.Id[A]], B](((a: A)
=> {
      val c: scalaz.package.Id[scalaz.package.Costate[B,scalaz.package.Id[A]]] = Lens.this.run(a);
      val b: B = f.apply(c.pos);
      new (B, scalaz.package.Id[scalaz.package.Id[A]])(b, c.put(b)(scalaz.`package`.idInstance))
    }));
    def :=(b: => B): scalaz.package.State[A,B] = Lens.this.%=(((x$29: B) => b));
    def %==(f: B => B): scalaz.package.State[A,Unit] = scalaz.this.`package`.State.apply[A, Unit](((a: A) => new (Unit, A)((), Lens.this.mod(f, a))));
    def %%=[C >: Nothing <: Any](s: scalaz.package.State[B,C]): scalaz.package.State[A,C] = scalaz.this.`package`.State.apply[scalaz.package.Id[scalaz.package.Id[A]], C](((a: A) => {
      val x: scalaz.package.Id[scalaz.package.Costate[B,scalaz.package.Id[A]]] = Lens.this.run(a);
      <synthetic> private[this] val x$30: (C, B) = (s.apply(x.pos): (C, B) @unchecked) match {
        case (_1: C, _2: B)(C, B)((c @ _), (b @ _)) => new (C, B)(c, b)
      };
      val c: C = x$30._1;
      val b: B = x$30._2;
      new (C, scalaz.package.Id[scalaz.package.Id[A]])(c, x.put(b)(scalaz.`package`.idInstance))
    }));
    def >-[C >: Nothing <: Any](f: B => C): scalaz.package.State[A,C] = scalaz.this.`package`.State.apply[A, C](((a: A) => new (C, A)(f.apply(Lens.this.get(a)(scalaz.`package`.idInstance)), a)));
    def >>-[C >: Nothing <: Any](f: B => scalaz.package.State[A,C]): scalaz.package.State[A,C] = scalaz.this.`package`.State.apply[A, C](((a: A) => f.apply(Lens.this.get(a)(scalaz.`package`.idInstance)).apply(a)));
    def ->>-[C >: Nothing <: Any](f: => scalaz.package.State[A,C]): scalaz.package.State[A,C] = Lens.this.>>-[C](((x$31: B) => f))
  };
  final object LensT extends java.lang.Object with scalaz.LensTFunctions with scalaz.LensTInstances with ScalaObject {
    def this(): object scalaz.LensT = {
      LensT.super.this();
      ()
    };
    def apply[F[_ >: Nothing <: Any] >: [+_]Nothing <: [+_]Any, G[_ >: Nothing <: Any] >: [+_]Nothing <: [+_]Any, A >: Nothing <: Any, B
>: Nothing <: Any](r: A => F[scalaz.package.Costate[B,G[A]]]): scalaz.LensT[F,G,A,B] = LensT.this.lensT[F, G, A, B](r)
  };
  abstract trait LensTFunctions extends java.lang.Object with ScalaObject {
    def /*LensTFunctions*/$init$(): Unit = {
      ()
    };
    def lensT[F[_ >: Nothing <: Any] >: [+_]Nothing <: [+_]Any, G[_ >: Nothing <: Any] >: [+_]Nothing <: [+_]Any, A >: Nothing <: Any, B
>: Nothing <: Any](r: A => F[scalaz.package.Costate[B,G[A]]]): scalaz.LensT[F,G,A,B] = {
      final class $anon extends java.lang.Object with scalaz.LensT[F,G,A,B] {
        def this(): anonymous class $anon = {
          $anon.super.this();
          ()
        };
        def run(a: A): F[scalaz.package.Costate[B,G[A]]] = r.apply(a)
      };
      new $anon()
    };
    def lens[A >: Nothing <: Any, B >: Nothing <: Any](r: A => scalaz.package.Costate[B,A]): scalaz.Lens[A,B] = scalaz.this.`package`.Lens.lensTLens[A, B](LensTFunctions.this.lensT[scalaz.package.Id, scalaz.package.Id, A, B](r));
    def lensp[F[_ >: Nothing <: Any] >: [+_]Nothing <: [+_]Any, G[_ >: Nothing <: Any] >: [+_]Nothing <: [+_]Any, A >: Nothing <: Any, B
>: Nothing <: Any](r: A => scalaz.package.Costate[B,A])(implicit PF: scalaz.Pointed[F], PG: scalaz.Pointed[G]): scalaz.LensT[F,G,A,B] = LensTFunctions.this.lensT[F, G, A, B](((a: A) => PF.point[scalaz.CostateT[scalaz.package.Id,B,G[A]]](r.apply(a).map[G[A]](((x$32: A) => PG.point[A](x$32)))(scalaz.`package`.idInstance))));
    def lensgT[F[_ >: Nothing <: Any] >: [+_]Nothing <: [+_]Any, G[_ >: Nothing <: Any] >: [+_]Nothing <: [+_]Any, A >: Nothing <: Any, B >: Nothing <: Any](set: A => F[B => G[A]], get: A => F[B])(implicit M: scalaz.Bind[F]): scalaz.LensT[F,G,A,B] = LensTFunctions.this.lensT[F, G, A, B](((a: A) => M.map2[B => G[A], B, scalaz.package.Costate[B,G[A]]](set.apply(a), get.apply(a))(((x$33: B => G[A], x$34: B) =>
Costate.apply[B, G[A]](x$33, x$34)))));
    def lensg[A >: Nothing <: Any, B >: Nothing <: Any](set: A => (B => A), get: A => B): scalaz.Lens[A,B] = scalaz.this.`package`.Lens.lensTLens[A, B](LensTFunctions.this.lensgT[scalaz.package.Id, scalaz.package.Id, A, B](set, get)(scalaz.`package`.idInstance));
    def lensu[A >: Nothing <: Any, B >: Nothing <: Any](set: (A, B) => A, get: A => B): scalaz.Lens[A,B] = LensTFunctions.this.lensg[A, B](set.curried, get);
    def lensId[F[_ >: Nothing <: Any] >: [+_]Nothing <: [+_]Any, G[_ >: Nothing <: Any] >: [+_]Nothing <: [+_]Any, A >: Nothing <: Any](implicit PF: scalaz.Pointed[F], PG: scalaz.Pointed[G]): scalaz.LensT[F,G,A,A] = LensTFunctions.this.lensp[F, G, A, A](((x$35: A) => Costate.apply[A, A]({
      ((x: A) => scala.this.Predef.identity[A](x))
    }, x$35)))(PF, PG);
    def trivialLens[F[_ >: Nothing <: Any] >: [+_]Nothing <: [+_]Any, G[_ >: Nothing <: Any] >: [+_]Nothing <: [+_]Any, A >: Nothing <: Any](implicit PF: scalaz.Pointed[F], PG: scalaz.Pointed[G]): scalaz.LensT[F,G,A,Unit] = LensTFunctions.this.lensp[F, G, A, Unit](((a: A) => Costate.apply[Unit, A](((x$36: Unit) => a), ())))(PF, PG);
    def codiagLens[F[_ >: Nothing <: Any] >: [+_]Nothing <: [+_]Any, G[_ >: Nothing <: Any] >: [+_]Nothing <: [+_]Any, A >: Nothing <: Any](implicit evidence$1: scalaz.Pointed[F], evidence$2: scalaz.Pointed[G]): scalaz.LensT[F,G,Either[A,A],A] = LensTFunctions.this.lensId[F, G, A](evidence$1, evidence$2).|||[A](LensTFunctions.this.lensId[F, G, A](evidence$1, evidence$2))(evidence$1, evidence$2);
    def firstLens[A >: Nothing <: Any, B >: Nothing <: Any]: scalaz.package.@>[(A, B),A] = LensTFunctions.this.lens[(A, B), A](((x0$4: (A, B)) => x0$4 match {
      case (_1: A, _2: B)(A, B)((a @ _), (b @ _)) => Costate.apply[A, (A, B)](((x: A) => new (A, B)(x, b)), a)
    }));
    def secondLens[A >: Nothing <: Any, B >: Nothing <: Any]: scalaz.package.@>[(A, B),B] = LensTFunctions.this.lens[(A, B), B](((x0$5: (A, B)) => x0$5 match {
      case (_1: A, _2: B)(A, B)((a @ _), (b @ _)) => Costate.apply[B, (A, B)](((x: B) => new (A, B)(a, x)), b)
    }));
    def lazyFirstLens[A >: Nothing <: Any, B >: Nothing <: Any]: scalaz.package.@>[scalaz.LazyTuple2[A,B],A] = LensTFunctions.this.lens[scalaz.LazyTuple2[A,B], A](((z: scalaz.LazyTuple2[A,B]) => Costate.apply[A, scalaz.LazyTuple2[A,B]](((x: A) => LazyTuple2.apply[A, B](x, z._2)), z._1)));
    def lazySecondLens[A >: Nothing <: Any, B >: Nothing <: Any]: scalaz.package.@>[scalaz.LazyTuple2[A,B],B] = LensTFunctions.this.lens[scalaz.LazyTuple2[A,B], B](((z: scalaz.LazyTuple2[A,B]) => Costate.apply[B, scalaz.LazyTuple2[A,B]](((x: B) => LazyTuple2.apply[A, B](z._1, x)), z._2)));
    def nelHeadLens[A >: Nothing <: Any]: scalaz.package.@>[scalaz.NonEmptyList[A],A] = LensTFunctions.this.lens[scalaz.NonEmptyList[A],
A](((l: scalaz.NonEmptyList[A]) => Costate.apply[A, scalaz.NonEmptyList[A]](((x$37: A) => NonEmptyList.nel[A](x$37, l.tail)), l.head)));
    def nelTailLens[A >: Nothing <: Any]: scalaz.package.@>[scalaz.NonEmptyList[A],List[A]] = LensTFunctions.this.lens[scalaz.NonEmptyList[A], List[A]](((l: scalaz.NonEmptyList[A]) => Costate.apply[List[A], scalaz.NonEmptyList[A]](((x$38: List[A]) => NonEmptyList.nel[A](l.head, x$38)), l.tail)));
    def mapVLens[K >: Nothing <: Any, V >: Nothing <: Any](k: K): scalaz.package.@>[Map[K,V],Option[V]] = LensTFunctions.this.lensg[Map[K,V], Option[V]](((m: Map[K,V]) => (((x0$6: Option[V]) => x0$6 match {
      case scala.None => m.-(k)
      case (x: V)Some[V]((v @ _)) => m.updated[V](k, v)
    }): Option[V] => Map[K,V])), ((x$39: Map[K,V]) => x$39.get(k)));
    def factorLens[A >: Nothing <: Any, B >: Nothing <: Any, C >: Nothing <: Any]: scalaz.package.@>[Either[(A, B),(A, C)],(A, Either[B,C])] = LensTFunctions.this.lens[Either[(A, B),(A, C)], (A, Either[B,C])](((e: Either[(A, B),(A, C)]) => Costate.apply[(A, Either[B,C]), Either[(A, B),(A, C)]](((x0$7: (A, Either[B,C])) => x0$7 match {
      case (_1: A, _2: Either[B,C])(A, Either[B,C])((a @ _), (a: B)Left[B,C]((b @ _))) => new Left[(A, B),Nothing](new (A, B)(a, b))
      case (_1: A, _2: Either[B,C])(A, Either[B,C])((a @ _), (b: C)Right[B,C]((c @ _))) => new Right[Nothing,(A, C)](new (A, C)(a, c))
    }), e match {
      case (a: (A, B))Left[(A, B),(A, C)]((_1: A, _2: B)(A, B)((a @ _), (b @ _))) => new (A, Left[B,Nothing])(a, new Left[B,Nothing](b))
      case (b: (A, C))Right[(A, B),(A, C)]((_1: A, _2: C)(A, C)((a @ _), (c @ _))) => new (A, Right[Nothing,C])(a, new Right[Nothing,C](c))
    })));
    def distributeLens[A >: Nothing <: Any, B >: Nothing <: Any, C >: Nothing <: Any]: scalaz.package.@>[(A, Either[B,C]),Either[(A, B),(A, C)]] = LensTFunctions.this.lens[(A, Either[B,C]), Either[(A, B),(A, C)]](((x0$8: (A, Either[B,C])) => x0$8 match {
      case (_1: A, _2: Either[B,C])(A, Either[B,C])((a @ _), (e @ _)) => Costate.apply[Either[(A, B),(A, C)], (A, Either[B,C])](((x0$9: Either[(A, B),(A, C)]) => x0$9 match {
        case (a: (A, B))Left[(A, B),(A, C)]((_1: A, _2: B)(A, B)((aa @ _), (bb @ _))) => new (A, Left[B,Nothing])(aa, new Left[B,Nothing](bb))
        case (b: (A, C))Right[(A, B),(A, C)]((_1: A, _2: C)(A, C)((aa @ _), (cc @ _))) => new (A, Right[Nothing,C])(aa, new Right[Nothing,C](cc))
      }), e match {
        case (a: B)Left[B,C]((b @ _)) => new Left[(A, B),Nothing](new (A, B)(a, b))
        case (b: C)Right[B,C]((c @ _)) => new Right[Nothing,(A, C)](new (A, C)(a, c))
      })
    }));
    def lensSetJoin[F[_ >: Nothing <: Any] >: [+_]Nothing <: [+_]Any, A >: Nothing <: Any, B >: Nothing <: Any](lens: scalaz.LensT[F,F,A,B], b: B, a: A)(implicit F: scalaz.Bind[F]): F[A] = F.bind[scalaz.package.Costate[B,F[A]], A](lens.run(a))(((x$40: scalaz.package.Costate[B,F[A]]) => x$40.put(b)(scalaz.`package`.idInstance)));
    def lensSetLiftF[T[_[_ >: Nothing <: Any] >: [_]Nothing <: [_]Any, _ >: Nothing <: Any] >: [_[_], _]Nothing <: [_[_], _]Any, F[_ >: Nothing <: Any] >: [+_]Nothing <: [+_]Any, A >: Nothing <: Any, B >: Nothing <: Any](lens: scalaz.LensT[F,[+╬▒]T[F,╬▒],A,B], b: B, a: A)(implicit F: scalaz.Monad[F], G: scalaz.Bind[[+╬▒]T[F,╬▒]], T: scalaz.MonadTrans[T]): T[F,A] = G.bind[scalaz.package.Costate[B,T[F,A]], A](T.liftM[F, scalaz.package.Costate[B,T[F,A]]](lens.run(a))(F))(((x$41: scalaz.package.Costate[B,T[F,A]]) => x$41.put(b)(scalaz.`package`.idInstance)));
    def lensSetLiftG[T[_[_ >: Nothing <: Any] >: [_]Nothing <: [_]Any, _ >: Nothing <: Any] >: [_[_], _]Nothing <: [_[_], _]Any, F[_ >: Nothing <: Any] >: [+_]Nothing <: [+_]Any, A >: Nothing <: Any, B >: Nothing <: Any](lens: scalaz.LensT[[+╬▒]T[F,╬▒],F,A,B], b: B, a: A)(implicit F: scalaz.Monad[F], G: scalaz.Bind[[+╬▒]T[F,╬▒]], T: scalaz.MonadTrans[T]): T[F,A] = G.bind[scalaz.package.Costate[B,F[A]], A](lens.run(a))(((x: scalaz.package.Costate[B,F[A]]) => T.liftM[F, A]((x.put(b)(scalaz.`package`.idInstance): F[A]))(F)))
  };
  abstract trait LensTInstances0 extends java.lang.Object with ScalaObject {
    def /*LensTInstances0*/$init$(): Unit = {
      ()
    };
    implicit def lensTArrId[F[_ >: Nothing <: Any] >: [+_]Nothing <: [+_]Any, G[_ >: Nothing <: Any] >: [+_]Nothing <: [+_]Any](implicit
F0: scalaz.Pointed[F], G0: scalaz.Pointed[G]): scalaz.ArrId[[╬▒, ╬▓]scalaz.LensT[F,G,╬▒,╬▓]] = {
      final class $anon extends java.lang.Object with scalaz.LensTArrId[F,G] {
        def this(): anonymous class $anon = {
          $anon.super.this();
          ()
        };
        implicit def F: scalaz.Pointed[F] = F0;
        implicit def G: scalaz.Pointed[G] = G0
      };
      new $anon()
    }
  };
  abstract trait LensTInstances extends java.lang.Object with ScalaObject {
    def /*LensTInstances*/$init$(): Unit = {
      ()
    };
    implicit def lensTCategory[F[_ >: Nothing <: Any] >: [+_]Nothing <: [+_]Any, G[_ >: Nothing <: Any] >: [+_]Nothing <: [+_]Any](implicit F0: scalaz.Monad[F], G0: scalaz.Monad[G]): java.lang.Object with scalaz.LensTCategory[F,G] = {
      final class $anon extends java.lang.Object with scalaz.LensTCategory[F,G] {
        def this(): anonymous class $anon = {
          $anon.super.this();
          ()
        };
        implicit def F: scalaz.Monad[F] = F0;
        implicit def G: scalaz.Monad[G] = G0
      };
      new $anon()
    };
    implicit def LensState[F[_ >: Nothing <: Any] >: [+_]Nothing <: [+_]Any, G[_ >: Nothing <: Any] >: [+_]Nothing <: [+_]Any, A >: Nothing <: Any, B >: Nothing <: Any](lens: scalaz.LensT[F,G,A,B])(implicit FF: scalaz.Functor[F], GF: scalaz.Functor[G]): scalaz.StateT[F,A,B] = lens.st(FF);
    implicit def LensTUnzip[F[_ >: Nothing <: Any] >: [+_]Nothing <: [+_]Any, G[_ >: Nothing <: Any] >: [+_]Nothing <: [+_]Any, S >: Nothing <: Any](implicit FF: scalaz.Functor[F], GF: scalaz.Functor[G]): scalaz.Unzip[[╬▒]scalaz.LensT[F,G,S,╬▒]] = {
      final class $anon extends java.lang.Object with scalaz.Unzip[[╬▒]scalaz.LensT[F,G,S,╬▒]] {
        def this(): anonymous class $anon = {
          $anon.super.this();
          ()
        };
        def unzip[A >: Nothing <: Any, B >: Nothing <: Any](a: scalaz.LensT[F,G,S,(A, B)]): (scalaz.LensT[F,G,S,A], scalaz.LensT[F,G,S,B]) = new (scalaz.LensT[F,G,S,A], scalaz.LensT[F,G,S,B])(LensT.apply[F, G, S, A](((x: S) => FF.map[scalaz.package.Costate[(A, B),G[S]], scalaz.package.Costate[A,G[S]]](a.run(x))(((c: scalaz.package.Costate[(A, B),G[S]]) => {
          <synthetic> private[this] val x$42: (A, B) = (c.pos: (A, B) @unchecked) match {
            case (_1: A, _2: B)(A, B)((p @ _), (q @ _)) => new (A, B)(p, q)
          };
          val p: A = x$42._1;
          val q: B = x$42._2;
          Costate.apply[A, G[S]](((a: A) => (c.put(new (A, B)(a, q))(scalaz.`package`.idInstance): G[S])), p)
        })))), LensT.apply[F, G, S, B](((x: S) => FF.map[scalaz.package.Costate[(A, B),G[S]], scalaz.package.Costate[B,G[S]]](a.run(x))(((c: scalaz.package.Costate[(A, B),G[S]]) => {
          <synthetic> private[this] val x$43: (A, B) = (c.pos: (A, B) @unchecked) match {
            case (_1: A, _2: B)(A, B)((p @ _), (q @ _)) => new (A, B)(p, q)
          };
          val p: A = x$43._1;
          val q: B = x$43._2;
          Costate.apply[B, G[S]](((a: B) => (c.put(new (A, B)(p, a))(scalaz.`package`.idInstance): G[S])), q)
        })))))
      };
      new $anon()
    };
    case class SetLens[S >: Nothing <: Any, K >: Nothing <: Any] extends java.lang.Object with ScalaObject with Product with Serializable {
      <caseaccessor> <paramaccessor> private[this] val lens: scalaz.Lens[S,Set[K]] = _;
      <stable> <caseaccessor> <accessor> <paramaccessor> def lens: scalaz.Lens[S,Set[K]] = SetLens.this.lens;
      def this(lens: scalaz.Lens[S,Set[K]]): LensTInstances.this.SetLens[S,K] = {
        SetLens.super.this();
        ()
      };
      def contains(key: K): scalaz.Lens[S,Boolean] = LensT.lensg[S, Boolean](((s: S) => ((b: Boolean) => (SetLens.this.lens.mod(((m: Set[K]) => if (b)
        m.+(key)
      else
        m.-(key)), s): scalaz.package.Id[S]))), ((s: S) => SetLens.this.lens.get(s)(scalaz.`package`.idInstance).contains(key)));
      def &=(that: Set[K]): scalaz.package.State[S,Set[K]] = SetLens.this.lens.%=(((x$44: Set[K]) => x$44.&(that)));
      def &~=(that: Set[K]): scalaz.package.State[S,Set[K]] = SetLens.this.lens.%=(((x$45: Set[K]) => x$45.&~(that)));
      def |=(that: Set[K]): scalaz.package.State[S,Set[K]] = SetLens.this.lens.%=(((x$46: Set[K]) => x$46.|(that)));
      def +=(elem: K): scalaz.package.State[S,Set[K]] = SetLens.this.lens.%=(((x$47: Set[K]) => x$47.+(elem)));
      def +=(elem1: K, elem2: K, elems: K*): scalaz.package.State[S,Set[K]] = SetLens.this.lens.%=(((x$48: Set[K]) => x$48.+(elem1).+(elem2).++(elems)));
      def ++=(xs: TraversableOnce[K]): scalaz.package.State[S,Set[K]] = SetLens.this.lens.%=(((x$49: Set[K]) => x$49.++(xs)));
      def -=(elem: K): scalaz.package.State[S,Set[K]] = SetLens.this.lens.%=(((x$50: Set[K]) => x$50.-(elem)));
      def -=(elem1: K, elem2: K, elems: K*): scalaz.package.State[S,Set[K]] = SetLens.this.lens.%=(((x$51: Set[K]) => x$51.-(elem1).-(elem2).--(elems)));
      def --=(xs: TraversableOnce[K]): scalaz.package.State[S,Set[K]] = SetLens.this.lens.%=(((x$52: Set[K]) => x$52.--(xs)));
      <synthetic> def copy[S >: Nothing <: Any, K >: Nothing <: Any](lens: scalaz.Lens[S,Set[K]] = lens): LensTInstances.this.SetLens[S,K] = new LensTInstances.this.SetLens[S, K](lens);
      <synthetic> def copy$default$1[S >: Nothing <: Any, K >: Nothing <: Any]: scalaz.Lens[S,Set[K]] @scala.annotation.unchecked.uncheckedVariance = SetLens.this.lens;
      override def hashCode(): Int = ScalaRunTime.this._hashCode(SetLens.this);
      override def toString(): String = ScalaRunTime.this._toString(SetLens.this);
      override def equals(x$1: Any): Boolean = SetLens.this.eq(x$1.asInstanceOf[java.lang.Object]).||(x$1 match {
        case (lens: scalaz.Lens[Any,Set[Any]])LensTInstances.this.SetLens[Any,Any]((lens$1 @ _)) if lens$1.==(lens) => x$1.asInstanceOf[LensTInstances.this.SetLens[S,K]].canEqual(SetLens.this)
        case _ => false
      });
      override def productPrefix: java.lang.String = "SetLens";
      override def productArity: Int = 1;
      override def productElement(x$1: Int): Any = x$1 match {
        case 0 => lens
        case _ => throw new java.lang.IndexOutOfBoundsException(x$1.toString())
      };
      override def canEqual(x$1: Any): Boolean = x$1.$isInstanceOf[LensTInstances.this.SetLens[S,K]]()
    };
    final <synthetic> object SetLens extends java.lang.Object with ScalaObject with Serializable {
      def this(): object LensTInstances.this.SetLens = {
        SetLens.super.this();
        ()
      };
      final override def toString(): java.lang.String = "SetLens";
      case <synthetic> def unapply[S >: Nothing <: Any, K >: Nothing <: Any](x$0: LensTInstances.this.SetLens[S,K]): Option[scalaz.Lens[S,Set[K]]] = if (x$0.==(null))
        scala.this.None
      else
        new Some[scalaz.Lens[S,Set[K]]](x$0.lens);
      case <synthetic> def apply[S >: Nothing <: Any, K >: Nothing <: Any](lens: scalaz.Lens[S,Set[K]]): LensTInstances.this.SetLens[S,K] = new LensTInstances.this.SetLens[S,K](lens)
    };
    @volatile <synthetic> private[this] var SetLens$module: object LensTInstances.this.SetLens = _;
    final <synthetic> <stable> def SetLens: object LensTInstances.this.SetLens = new object LensTInstances.this.SetLens();
    implicit def setLens[S >: Nothing <: Any, K >: Nothing <: Any](lens: scalaz.Lens[S,Set[K]]): LensTInstances.this.SetLens[S,K] = new LensTInstances.this.SetLens[S,K](lens);
    case class MapLens[S >: Nothing <: Any, K >: Nothing <: Any, V >: Nothing <: Any] extends java.lang.Object with ScalaObject with Product with Serializable {
      <caseaccessor> <paramaccessor> private[this] val lens: scalaz.Lens[S,Map[K,V]] = _;
      <stable> <caseaccessor> <accessor> <paramaccessor> def lens: scalaz.Lens[S,Map[K,V]] = MapLens.this.lens;
      def this(lens: scalaz.Lens[S,Map[K,V]]): LensTInstances.this.MapLens[S,K,V] = {
        MapLens.super.this();
        ()
      };
      def member(k: K): scalaz.Lens[S,Option[V]] = LensT.lensg[S, Option[V]](((s: S) => ((opt: Option[V]) => (MapLens.this.lens.mod(((m:
Map[K,V]) => (opt match {
        case (x: V)Some[V]((v @ _)) => m.+[V](scala.this.Predef.any2ArrowAssoc[K](k).->[V](v))
        case scala.None => m.-(k)
      }: Map[K,V])), s): scalaz.package.Id[S]))), ((s: S) => MapLens.this.lens.get(s)(scalaz.`package`.idInstance).get(k)));
      def at(k: K): scalaz.Lens[S,V] = LensT.lensg[S, V](((s: S) => ((v: V) => (MapLens.this.lens.mod(((x$53: Map[K,V]) => x$53.+[V](scala.this.Predef.any2ArrowAssoc[K](k).->[V](v))), s): scalaz.package.Id[S]))), ((x$54: S) => MapLens.this.lens.get(x$54)(scalaz.`package`.idInstance).apply(k)));
      def +=(elem1: (K, V), elem2: (K, V), elems: (K, V)*): scalaz.package.State[S,Map[K,V]] = MapLens.this.lens.%=(((x$55: Map[K,V]) =>
x$55.+[V](elem1).+[V](elem2).++[V](elems)));
      def +=(elem: (K, V)): scalaz.package.State[S,Map[K,V]] = MapLens.this.lens.%=(((x$56: Map[K,V]) => x$56.+[V](elem)));
      def ++=(xs: TraversableOnce[(K, V)]): scalaz.package.State[S,Map[K,V]] = MapLens.this.lens.%=(((x$57: Map[K,V]) => x$57.++[V](xs)));
      def update(key: K, value: V): scalaz.package.State[S,Unit] = MapLens.this.lens.%==(((x$58: Map[K,V]) => x$58.updated[V](key, value)));
      def -=(elem: K): scalaz.package.State[S,Map[K,V]] = MapLens.this.lens.%=(((x$59: Map[K,V]) => x$59.-(elem)));
      def -=(elem1: K, elem2: K, elems: K*): scalaz.package.State[S,Map[K,V]] = MapLens.this.lens.%=(((x$60: Map[K,V]) => x$60.-(elem1).-(elem2).--(elems)));
      def --=(xs: TraversableOnce[K]): scalaz.package.State[S,Map[K,V]] = MapLens.this.lens.%=(((x$61: Map[K,V]) => x$61.--(xs)));
      <synthetic> def copy[S >: Nothing <: Any, K >: Nothing <: Any, V >: Nothing <: Any](lens: scalaz.Lens[S,Map[K,V]] = lens): LensTInstances.this.MapLens[S,K,V] = new LensTInstances.this.MapLens[S, K, V](lens);
      <synthetic> def copy$default$1[S >: Nothing <: Any, K >: Nothing <: Any, V >: Nothing <: Any]: scalaz.Lens[S,Map[K,V]] @scala.annotation.unchecked.uncheckedVariance = MapLens.this.lens;
      override def hashCode(): Int = ScalaRunTime.this._hashCode(MapLens.this);
      override def toString(): String = ScalaRunTime.this._toString(MapLens.this);
      override def equals(x$1: Any): Boolean = MapLens.this.eq(x$1.asInstanceOf[java.lang.Object]).||(x$1 match {
        case (lens: scalaz.Lens[Any,Map[Any,Any]])LensTInstances.this.MapLens[Any,Any,Any]((lens$2 @ _)) if lens$2.==(lens) => x$1.asInstanceOf[LensTInstances.this.MapLens[S,K,V]].canEqual(MapLens.this)
        case _ => false
      });
      override def productPrefix: java.lang.String = "MapLens";
      override def productArity: Int = 1;
      override def productElement(x$1: Int): Any = x$1 match {
        case 0 => lens
        case _ => throw new java.lang.IndexOutOfBoundsException(x$1.toString())
      };
      override def canEqual(x$1: Any): Boolean = x$1.$isInstanceOf[LensTInstances.this.MapLens[S,K,V]]()
    };
    final <synthetic> object MapLens extends java.lang.Object with ScalaObject with Serializable {
      def this(): object LensTInstances.this.MapLens = {
        MapLens.super.this();
        ()
      };
      final override def toString(): java.lang.String = "MapLens";
      case <synthetic> def unapply[S >: Nothing <: Any, K >: Nothing <: Any, V >: Nothing <: Any](x$0: LensTInstances.this.MapLens[S,K,V]): Option[scalaz.Lens[S,Map[K,V]]] = if (x$0.==(null))
        scala.this.None
      else
        new Some[scalaz.Lens[S,Map[K,V]]](x$0.lens);
      case <synthetic> def apply[S >: Nothing <: Any, K >: Nothing <: Any, V >: Nothing <: Any](lens: scalaz.Lens[S,Map[K,V]]): LensTInstances.this.MapLens[S,K,V] = new LensTInstances.this.MapLens[S,K,V](lens)
    };
    @volatile <synthetic> private[this] var MapLens$module: object LensTInstances.this.MapLens = _;
    final <synthetic> <stable> def MapLens: object LensTInstances.this.MapLens = new object LensTInstances.this.MapLens();
    implicit def mapLens[S >: Nothing <: Any, K >: Nothing <: Any, V >: Nothing <: Any](lens: scalaz.Lens[S,Map[K,V]]): LensTInstances.this.MapLens[S,K,V] = new LensTInstances.this.MapLens[S,K,V](lens);
    case class SeqLikeLens[S >: Nothing <: Any, A >: Nothing <: Any, Repr >: Nothing <: scala.collection.SeqLike[A,Repr]] extends java.lang.Object with ScalaObject with Product with Serializable {
      <caseaccessor> <paramaccessor> private[this] val lens: scalaz.Lens[S,Repr] = _;
      <stable> <caseaccessor> <accessor> <paramaccessor> def lens: scalaz.Lens[S,Repr] = SeqLikeLens.this.lens;
      def this(lens: scalaz.Lens[S,Repr]): LensTInstances.this.SeqLikeLens[S,A,Repr] = {
        SeqLikeLens.super.this();
        ()
      };
      def sortWith(lt: (A, A) => Boolean): scalaz.package.State[S,Unit] = SeqLikeLens.this.lens.%==(((x$62: Repr) => x$62.sortWith(lt)));
      def sortBy[B >: Nothing <: Any](f: A => B)(implicit evidence$3: scala.math.Ordering[B]): scalaz.package.State[S,Unit] = SeqLikeLens.this.lens.%==(((x$63: Repr) => x$63.sortBy[B](f)(evidence$3)));
      def sort[B >: A <: Any](implicit ord: scala.math.Ordering[B]): scalaz.package.State[S,Unit] = (SeqLikeLens.this.lens.%==(((x$64: Repr) => x$64.sorted[B](ord))): scalaz.package.State[S,Unit]);
      <synthetic> def copy[S >: Nothing <: Any, A >: Nothing <: Any, Repr >: Nothing <: scala.collection.SeqLike[A,Repr]](lens: scalaz.Lens[S,Repr] = lens): LensTInstances.this.SeqLikeLens[S,A,Repr] = new LensTInstances.this.SeqLikeLens[S, A, Repr](lens);
      <synthetic> def copy$default$1[S >: Nothing <: Any, A >: Nothing <: Any, Repr >: Nothing <: scala.collection.SeqLike[A,Repr]]: scalaz.Lens[S,Repr] @scala.annotation.unchecked.uncheckedVariance = SeqLikeLens.this.lens;
      override def hashCode(): Int = ScalaRunTime.this._hashCode(SeqLikeLens.this);
      override def toString(): String = ScalaRunTime.this._toString(SeqLikeLens.this);
      override def equals(x$1: Any): Boolean = SeqLikeLens.this.eq(x$1.asInstanceOf[java.lang.Object]).||(x$1 match {
        case (lens: scalaz.Lens[Any,Any])LensTInstances.this.SeqLikeLens[Any,Any,Any]((lens$3 @ _)) if lens$3.==(lens) => x$1.asInstanceOf[LensTInstances.this.SeqLikeLens[S,A,Repr]].canEqual(SeqLikeLens.this)
        case _ => false
      });
      override def productPrefix: java.lang.String = "SeqLikeLens";
      override def productArity: Int = 1;
      override def productElement(x$1: Int): Any = x$1 match {
        case 0 => lens
        case _ => throw new java.lang.IndexOutOfBoundsException(x$1.toString())
      };
      override def canEqual(x$1: Any): Boolean = x$1.$isInstanceOf[LensTInstances.this.SeqLikeLens[S,A,Repr]]()
    };
    final <synthetic> object SeqLikeLens extends java.lang.Object with ScalaObject with Serializable {
      def this(): object LensTInstances.this.SeqLikeLens = {
        SeqLikeLens.super.this();
        ()
      };
      final override def toString(): java.lang.String = "SeqLikeLens";
      case <synthetic> def unapply[S >: Nothing <: Any, A >: Nothing <: Any, Repr >: Nothing <: scala.collection.SeqLike[A,Repr]](x$0: LensTInstances.this.SeqLikeLens[S,A,Repr]): Option[scalaz.Lens[S,Repr]] = if (x$0.==(null))
        scala.this.None
      else
        new Some[scalaz.Lens[S,Repr]](x$0.lens);
      case <synthetic> def apply[S >: Nothing <: Any, A >: Nothing <: Any, Repr >: Nothing <: scala.collection.SeqLike[A,Repr]](lens: scalaz.Lens[S,Repr]): LensTInstances.this.SeqLikeLens[S,A,Repr] = new LensTInstances.this.SeqLikeLens[S,A,Repr](lens)
    };
    @volatile <synthetic> private[this] var SeqLikeLens$module: object LensTInstances.this.SeqLikeLens = _;
    final <synthetic> <stable> def SeqLikeLens: object LensTInstances.this.SeqLikeLens = new object LensTInstances.this.SeqLikeLens();
    implicit def seqLikeLens[S >: Nothing <: Any, A >: Nothing <: Any, Repr >: Nothing <: scala.collection.SeqLike[A,Repr]](lens: scalaz.Lens[S,Repr]): LensTInstances.this.SeqLikeLens[S,A,Repr] = new LensTInstances.this.SeqLikeLens[S,A,Repr](lens);
    implicit def seqLens[S >: Nothing <: Any, A >: Nothing <: Any](lens: scalaz.Lens[S,scala.collection.immutable.Seq[A]]): LensTInstances.this.SeqLikeLens[S,A,scala.collection.immutable.Seq[A]] = LensTInstances.this.seqLikeLens[S, A, scala.collection.immutable.Seq[A]](lens);
    case class StackLens[S >: Nothing <: Any, A >: Nothing <: Any] extends java.lang.Object with ScalaObject with Product with Serializable {
      <caseaccessor> <paramaccessor> private[this] val lens: scalaz.Lens[S,scala.collection.immutable.Stack[A]] = _;
      <stable> <caseaccessor> <accessor> <paramaccessor> def lens: scalaz.Lens[S,scala.collection.immutable.Stack[A]] = StackLens.this.lens;
      def this(lens: scalaz.Lens[S,scala.collection.immutable.Stack[A]]): LensTInstances.this.StackLens[S,A] = {
        StackLens.super.this();
        ()
      };
      def push(elem1: A, elem2: A, elems: A*): scalaz.package.State[S,Unit] = StackLens.this.lens.%==(((x$65: scala.collection.immutable.Stack[A]) => x$65.push[A](elem1).push[A](elem2).pushAll[A](elems)));
      def push1(elem: A): scalaz.package.State[S,Unit] = StackLens.this.lens.%==(((x$66: scala.collection.immutable.Stack[A]) => x$66.push[A](elem)));
      def pop: scalaz.package.State[S,Unit] = StackLens.this.lens.%==(((x$67: scala.collection.immutable.Stack[A]) => x$67.pop));
      def pop2: scalaz.package.State[S,A] = StackLens.this.lens.%%=[A](scalaz.this.`package`.State.apply[scala.collection.immutable.Stack[A], A](((x$68: scala.collection.immutable.Stack[A]) => x$68.pop2)));
      def top: scalaz.package.State[S,A] = StackLens.this.lens.>-[A](((x$69: scala.collection.immutable.Stack[A]) => x$69.top));
      def length: scalaz.package.State[S,Int] = StackLens.this.lens.>-[Int](((x$70: scala.collection.immutable.Stack[A]) => x$70.length));
      <synthetic> def copy[S >: Nothing <: Any, A >: Nothing <: Any](lens: scalaz.Lens[S,scala.collection.immutable.Stack[A]] = lens): LensTInstances.this.StackLens[S,A] = new LensTInstances.this.StackLens[S, A](lens);
      <synthetic> def copy$default$1[S >: Nothing <: Any, A >: Nothing <: Any]: scalaz.Lens[S,scala.collection.immutable.Stack[A]] @scala.annotation.unchecked.uncheckedVariance = StackLens.this.lens;
      override def hashCode(): Int = ScalaRunTime.this._hashCode(StackLens.this);
      override def toString(): String = ScalaRunTime.this._toString(StackLens.this);
      override def equals(x$1: Any): Boolean = StackLens.this.eq(x$1.asInstanceOf[java.lang.Object]).||(x$1 match {
        case (lens: scalaz.Lens[Any,scala.collection.immutable.Stack[Any]])LensTInstances.this.StackLens[Any,Any]((lens$4 @ _)) if lens$4.==(lens) => x$1.asInstanceOf[LensTInstances.this.StackLens[S,A]].canEqual(StackLens.this)
        case _ => false
      });
      override def productPrefix: java.lang.String = "StackLens";
      override def productArity: Int = 1;
      override def productElement(x$1: Int): Any = x$1 match {
        case 0 => lens
        case _ => throw new java.lang.IndexOutOfBoundsException(x$1.toString())
      };
      override def canEqual(x$1: Any): Boolean = x$1.$isInstanceOf[LensTInstances.this.StackLens[S,A]]()
    };
    final <synthetic> object StackLens extends java.lang.Object with ScalaObject with Serializable {
      def this(): object LensTInstances.this.StackLens = {
        StackLens.super.this();
        ()
      };
      final override def toString(): java.lang.String = "StackLens";
      case <synthetic> def unapply[S >: Nothing <: Any, A >: Nothing <: Any](x$0: LensTInstances.this.StackLens[S,A]): Option[scalaz.Lens[S,scala.collection.immutable.Stack[A]]] = if (x$0.==(null))
        scala.this.None
      else
        new Some[scalaz.Lens[S,scala.collection.immutable.Stack[A]]](x$0.lens);
      case <synthetic> def apply[S >: Nothing <: Any, A >: Nothing <: Any](lens: scalaz.Lens[S,scala.collection.immutable.Stack[A]]): LensTInstances.this.StackLens[S,A] = new LensTInstances.this.StackLens[S,A](lens)
    };
    @volatile <synthetic> private[this] var StackLens$module: object LensTInstances.this.StackLens = _;
    final <synthetic> <stable> def StackLens: object LensTInstances.this.StackLens = new object LensTInstances.this.StackLens();
    implicit def stackLens[S >: Nothing <: Any, A >: Nothing <: Any](lens: scalaz.Lens[S,scala.collection.immutable.Stack[A]]): LensTInstances.this.StackLens[S,A] = new LensTInstances.this.StackLens[S,A](lens);
    case class QueueLens[S >: Nothing <: Any, A >: Nothing <: Any] extends java.lang.Object with ScalaObject with Product with Serializable {
      <caseaccessor> <paramaccessor> private[this] val lens: scalaz.Lens[S,scala.collection.immutable.Queue[A]] = _;
      <stable> <caseaccessor> <accessor> <paramaccessor> def lens: scalaz.Lens[S,scala.collection.immutable.Queue[A]] = QueueLens.this.lens;
      def this(lens: scalaz.Lens[S,scala.collection.immutable.Queue[A]]): LensTInstances.this.QueueLens[S,A] = {
        QueueLens.super.this();
        ()
      };
      def enqueue(elem: A): scalaz.package.State[S,Unit] = QueueLens.this.lens.%==(((x$71: scala.collection.immutable.Queue[A]) => x$71.enqueue[A](elem)));
      def dequeue: scalaz.package.State[S,A] = QueueLens.this.lens.%%=[A](scalaz.this.`package`.State.apply[scala.collection.immutable.Queue[A], A](((x$72: scala.collection.immutable.Queue[A]) => x$72.dequeue)));
      def length: scalaz.package.State[S,Int] = QueueLens.this.lens.>-[Int](((x$73: scala.collection.immutable.Queue[A]) => x$73.length));
      <synthetic> def copy[S >: Nothing <: Any, A >: Nothing <: Any](lens: scalaz.Lens[S,scala.collection.immutable.Queue[A]] = lens): LensTInstances.this.QueueLens[S,A] = new LensTInstances.this.QueueLens[S, A](lens);
      <synthetic> def copy$default$1[S >: Nothing <: Any, A >: Nothing <: Any]: scalaz.Lens[S,scala.collection.immutable.Queue[A]] @scala.annotation.unchecked.uncheckedVariance = QueueLens.this.lens;
      override def hashCode(): Int = ScalaRunTime.this._hashCode(QueueLens.this);
      override def toString(): String = ScalaRunTime.this._toString(QueueLens.this);
      override def equals(x$1: Any): Boolean = QueueLens.this.eq(x$1.asInstanceOf[java.lang.Object]).||(x$1 match {
        case (lens: scalaz.Lens[Any,scala.collection.immutable.Queue[Any]])LensTInstances.this.QueueLens[Any,Any]((lens$5 @ _)) if lens$5.==(lens) => x$1.asInstanceOf[LensTInstances.this.QueueLens[S,A]].canEqual(QueueLens.this)
        case _ => false
      });
      override def productPrefix: java.lang.String = "QueueLens";
      override def productArity: Int = 1;
      override def productElement(x$1: Int): Any = x$1 match {
        case 0 => lens
        case _ => throw new java.lang.IndexOutOfBoundsException(x$1.toString())
      };
      override def canEqual(x$1: Any): Boolean = x$1.$isInstanceOf[LensTInstances.this.QueueLens[S,A]]()
    };
    final <synthetic> object QueueLens extends java.lang.Object with ScalaObject with Serializable {
      def this(): object LensTInstances.this.QueueLens = {
        QueueLens.super.this();
        ()
      };
      final override def toString(): java.lang.String = "QueueLens";
      case <synthetic> def unapply[S >: Nothing <: Any, A >: Nothing <: Any](x$0: LensTInstances.this.QueueLens[S,A]): Option[scalaz.Lens[S,scala.collection.immutable.Queue[A]]] = if (x$0.==(null))
        scala.this.None
      else
        new Some[scalaz.Lens[S,scala.collection.immutable.Queue[A]]](x$0.lens);
      case <synthetic> def apply[S >: Nothing <: Any, A >: Nothing <: Any](lens: scalaz.Lens[S,scala.collection.immutable.Queue[A]]): LensTInstances.this.QueueLens[S,A] = new LensTInstances.this.QueueLens[S,A](lens)
    };
    @volatile <synthetic> private[this] var QueueLens$module: object LensTInstances.this.QueueLens = _;
    final <synthetic> <stable> def QueueLens: object LensTInstances.this.QueueLens = new object LensTInstances.this.QueueLens();
    implicit def queueLens[S >: Nothing <: Any, A >: Nothing <: Any](lens: scalaz.Lens[S,scala.collection.immutable.Queue[A]]): LensTInstances.this.QueueLens[S,A] = new LensTInstances.this.QueueLens[S,A](lens);
    case class ArrayLens[S >: Nothing <: Any, A >: Nothing <: Any] extends java.lang.Object with ScalaObject with Product with Serializable {
      <caseaccessor> <paramaccessor> private[this] val lens: scalaz.Lens[S,Array[A]] = _;
      <stable> <caseaccessor> <accessor> <paramaccessor> def lens: scalaz.Lens[S,Array[A]] = ArrayLens.this.lens;
      def this(lens: scalaz.Lens[S,Array[A]]): LensTInstances.this.ArrayLens[S,A] = {
        ArrayLens.super.this();
        ()
      };
      def at(n: Int): scalaz.Lens[S,A] = LensT.lensg[S, A](((s: S) => ((v: A) => (ArrayLens.this.lens.mod(((array: Array[A]) => {
        val copy: Array[A] = array.clone();
        copy.update(n, v);
        copy
      }), s): scalaz.package.Id[S]))), ((s: S) => ArrayLens.this.lens.get(s)(scalaz.`package`.idInstance).apply(n)));
      def length: scalaz.package.State[S,Int] = ArrayLens.this.lens.>-[Int](((x$74: Array[A]) => x$74.length));
      <synthetic> def copy[S >: Nothing <: Any, A >: Nothing <: Any](lens: scalaz.Lens[S,Array[A]] = lens): LensTInstances.this.ArrayLens[S,A] = new LensTInstances.this.ArrayLens[S, A](lens);
      <synthetic> def copy$default$1[S >: Nothing <: Any, A >: Nothing <: Any]: scalaz.Lens[S,Array[A]] @scala.annotation.unchecked.uncheckedVariance = ArrayLens.this.lens;
      override def hashCode(): Int = ScalaRunTime.this._hashCode(ArrayLens.this);
      override def toString(): String = ScalaRunTime.this._toString(ArrayLens.this);
      override def equals(x$1: Any): Boolean = ArrayLens.this.eq(x$1.asInstanceOf[java.lang.Object]).||(x$1 match {
        case (lens: scalaz.Lens[Any,Array[Any]])LensTInstances.this.ArrayLens[Any,Any]((lens$6 @ _)) if lens$6.==(lens) => x$1.asInstanceOf[LensTInstances.this.ArrayLens[S,A]].canEqual(ArrayLens.this)
        case _ => false
      });
      override def productPrefix: java.lang.String = "ArrayLens";
      override def productArity: Int = 1;
      override def productElement(x$1: Int): Any = x$1 match {
        case 0 => lens
        case _ => throw new java.lang.IndexOutOfBoundsException(x$1.toString())
      };
      override def canEqual(x$1: Any): Boolean = x$1.$isInstanceOf[LensTInstances.this.ArrayLens[S,A]]()
    };
    final <synthetic> object ArrayLens extends java.lang.Object with ScalaObject with Serializable {
      def this(): object LensTInstances.this.ArrayLens = {
        ArrayLens.super.this();
        ()
      };
      final override def toString(): java.lang.String = "ArrayLens";
      case <synthetic> def unapply[S >: Nothing <: Any, A >: Nothing <: Any](x$0: LensTInstances.this.ArrayLens[S,A]): Option[scalaz.Lens[S,Array[A]]] = if (x$0.==(null))
        scala.this.None
      else
        new Some[scalaz.Lens[S,Array[A]]](x$0.lens);
      case <synthetic> def apply[S >: Nothing <: Any, A >: Nothing <: Any](lens: scalaz.Lens[S,Array[A]]): LensTInstances.this.ArrayLens[S,A] = new LensTInstances.this.ArrayLens[S,A](lens)
    };
    @volatile <synthetic> private[this] var ArrayLens$module: object LensTInstances.this.ArrayLens = _;
    final <synthetic> <stable> def ArrayLens: object LensTInstances.this.ArrayLens = new object LensTInstances.this.ArrayLens();
    implicit def arrayLens[S >: Nothing <: Any, A >: Nothing <: Any](lens: scalaz.Lens[S,Array[A]]): LensTInstances.this.ArrayLens[S,A] = new LensTInstances.this.ArrayLens[S,A](lens);
    case class NumericLens[S >: Nothing <: Any, N >: Nothing <: Any] extends java.lang.Object with ScalaObject with Product with Serializable {
      <caseaccessor> <paramaccessor> private[this] val lens: scalaz.Lens[S,N] = _;
      <stable> <caseaccessor> <accessor> <paramaccessor> def lens: scalaz.Lens[S,N] = NumericLens.this.lens;
      <caseaccessor> <paramaccessor> private[this] val num: Numeric[N] = _;
      <stable> <caseaccessor> <accessor> <paramaccessor> def num: Numeric[N] = NumericLens.this.num;
      implicit <paramaccessor> private[this] val evidence$4: Numeric[N] = _;
      def this(lens: scalaz.Lens[S,N], num: Numeric[N])(implicit evidence$4: Numeric[N]): LensTInstances.this.NumericLens[S,N] = {
        NumericLens.super.this();
        ()
      };
      def +=(that: N): scalaz.package.State[S,N] = NumericLens.this.lens.%=(((x$75: N) => NumericLens.this.num.plus(x$75, that)));
      def -=(that: N): scalaz.package.State[S,N] = NumericLens.this.lens.%=(((x$76: N) => NumericLens.this.num.minus(x$76, that)));
      def *=(that: N): scalaz.package.State[S,N] = NumericLens.this.lens.%=(((x$77: N) => NumericLens.this.num.times(x$77, that)));
      <synthetic> def copy[S >: Nothing <: Any, N >: Nothing <: Any](lens: scalaz.Lens[S,N] = lens, num: Numeric[N] = num)(implicit evidence$4: Numeric[N] = evidence$4): LensTInstances.this.NumericLens[S,N] = new LensTInstances.this.NumericLens[S, N](lens, num)(evidence$4);
      <synthetic> def copy$default$3[S >: Nothing <: Any, N >: Nothing <: Any](lens: scalaz.Lens[S,N], num: Numeric[N]): Numeric[N] @scala.annotation.unchecked.uncheckedVariance = NumericLens.this.evidence$4;
      <synthetic> def copy$default$2[S >: Nothing <: Any, N >: Nothing <: Any]: Numeric[N] @scala.annotation.unchecked.uncheckedVariance
= NumericLens.this.num;
      <synthetic> def copy$default$1[S >: Nothing <: Any, N >: Nothing <: Any]: scalaz.Lens[S,N] @scala.annotation.unchecked.uncheckedVariance = NumericLens.this.lens;
      override def hashCode(): Int = ScalaRunTime.this._hashCode(NumericLens.this);
      override def toString(): String = ScalaRunTime.this._toString(NumericLens.this);
      override def equals(x$1: Any): Boolean = NumericLens.this.eq(x$1.asInstanceOf[java.lang.Object]).||(x$1 match {
        case (lens: scalaz.Lens[Any,Any], num: Numeric[Any])(implicit evidence$4: Numeric[Any])LensTInstances.this.NumericLens[Any,Any]((lens$7 @ _), (num$1 @ _)) if lens$7.==(lens).&&(num$1.==(num)) => x$1.asInstanceOf[LensTInstances.this.NumericLens[S,N]].canEqual(NumericLens.this)
        case _ => false
      });
      override def productPrefix: java.lang.String = "NumericLens";
      override def productArity: Int = 2;
      override def productElement(x$1: Int): Any = x$1 match {
        case 0 => lens
        case 1 => num
        case _ => throw new java.lang.IndexOutOfBoundsException(x$1.toString())
      };
      override def canEqual(x$1: Any): Boolean = x$1.$isInstanceOf[LensTInstances.this.NumericLens[S,N]]()
    };
    final <synthetic> object NumericLens extends java.lang.Object with ScalaObject with Serializable {
      def this(): object LensTInstances.this.NumericLens = {
        NumericLens.super.this();
        ()
      };
      final override def toString(): java.lang.String = "NumericLens";
      case <synthetic> def unapply[S >: Nothing <: Any, N >: Nothing <: Any](x$0: LensTInstances.this.NumericLens[S,N]): Option[(scalaz.Lens[S,N], Numeric[N])] = if (x$0.==(null))
        scala.this.None
      else
        new Some[(scalaz.Lens[S,N], Numeric[N])](new (scalaz.Lens[S,N], Numeric[N])(x$0.lens, x$0.num));
      case <synthetic> def apply[S >: Nothing <: Any, N >: Nothing <: Any](lens: scalaz.Lens[S,N], num: Numeric[N])(implicit evidence$4:
Numeric[N]): LensTInstances.this.NumericLens[S,N] = new LensTInstances.this.NumericLens[S,N](lens, num)(evidence$4)
    };
    @volatile <synthetic> private[this] var NumericLens$module: object LensTInstances.this.NumericLens = _;
    final <synthetic> <stable> def NumericLens: object LensTInstances.this.NumericLens = new object LensTInstances.this.NumericLens();
    implicit def numericLens[S >: Nothing <: Any, N >: Nothing <: Any](lens: scalaz.Lens[S,N])(implicit evidence$5: Numeric[N]): LensTInstances.this.NumericLens[S,N] = new LensTInstances.this.NumericLens[S,N](lens, scala.this.Predef.implicitly[Numeric[N]](evidence$5))(evidence$5);
    case class FractionalLens[S >: Nothing <: Any, F >: Nothing <: Any] extends java.lang.Object with ScalaObject with Product with Serializable {
      <caseaccessor> <paramaccessor> private[this] val lens: scalaz.Lens[S,F] = _;
      <stable> <caseaccessor> <accessor> <paramaccessor> def lens: scalaz.Lens[S,F] = FractionalLens.this.lens;
      <caseaccessor> <paramaccessor> private[this] val frac: Fractional[F] = _;
      <stable> <caseaccessor> <accessor> <paramaccessor> def frac: Fractional[F] = FractionalLens.this.frac;
      def this(lens: scalaz.Lens[S,F], frac: Fractional[F]): LensTInstances.this.FractionalLens[S,F] = {
        FractionalLens.super.this();
        ()
      };
      def /=(that: F): scalaz.package.State[S,F] = FractionalLens.this.lens.%=(((x$78: F) => FractionalLens.this.frac.div(x$78, that)));
      <synthetic> def copy[S >: Nothing <: Any, F >: Nothing <: Any](lens: scalaz.Lens[S,F] = lens, frac: Fractional[F] = frac): LensTInstances.this.FractionalLens[S,F] = new LensTInstances.this.FractionalLens[S, F](lens, frac);
      <synthetic> def copy$default$2[S >: Nothing <: Any, F >: Nothing <: Any]: Fractional[F] @scala.annotation.unchecked.uncheckedVariance = FractionalLens.this.frac;
      <synthetic> def copy$default$1[S >: Nothing <: Any, F >: Nothing <: Any]: scalaz.Lens[S,F] @scala.annotation.unchecked.uncheckedVariance = FractionalLens.this.lens;
      override def hashCode(): Int = ScalaRunTime.this._hashCode(FractionalLens.this);
      override def toString(): String = ScalaRunTime.this._toString(FractionalLens.this);
      override def equals(x$1: Any): Boolean = FractionalLens.this.eq(x$1.asInstanceOf[java.lang.Object]).||(x$1 match {
        case (lens: scalaz.Lens[Any,Any], frac: Fractional[Any])LensTInstances.this.FractionalLens[Any,Any]((lens$8 @ _), (frac$1 @ _)) if lens$8.==(lens).&&(frac$1.==(frac)) => x$1.asInstanceOf[LensTInstances.this.FractionalLens[S,F]].canEqual(FractionalLens.this)
        case _ => false
      });
      override def productPrefix: java.lang.String = "FractionalLens";
      override def productArity: Int = 2;
      override def productElement(x$1: Int): Any = x$1 match {
        case 0 => lens
        case 1 => frac
        case _ => throw new java.lang.IndexOutOfBoundsException(x$1.toString())
      };
      override def canEqual(x$1: Any): Boolean = x$1.$isInstanceOf[LensTInstances.this.FractionalLens[S,F]]()
    };
    final <synthetic> object FractionalLens extends java.lang.Object with ScalaObject with Serializable {
      def this(): object LensTInstances.this.FractionalLens = {
        FractionalLens.super.this();
        ()
      };
      final override def toString(): java.lang.String = "FractionalLens";
      case <synthetic> def unapply[S >: Nothing <: Any, F >: Nothing <: Any](x$0: LensTInstances.this.FractionalLens[S,F]): Option[(scalaz.Lens[S,F], Fractional[F])] = if (x$0.==(null))
        scala.this.None
      else
        new Some[(scalaz.Lens[S,F], Fractional[F])](new (scalaz.Lens[S,F], Fractional[F])(x$0.lens, x$0.frac));
      case <synthetic> def apply[S >: Nothing <: Any, F >: Nothing <: Any](lens: scalaz.Lens[S,F], frac: Fractional[F]): LensTInstances.this.FractionalLens[S,F] = new LensTInstances.this.FractionalLens[S,F](lens, frac)
    };
    @volatile <synthetic> private[this] var FractionalLens$module: object LensTInstances.this.FractionalLens = _;
    final <synthetic> <stable> def FractionalLens: object LensTInstances.this.FractionalLens = new object LensTInstances.this.FractionalLens();
    implicit def fractionalLens[S >: Nothing <: Any, F >: Nothing <: Any](lens: scalaz.Lens[S,F])(implicit evidence$6: Fractional[F]): LensTInstances.this.FractionalLens[S,F] = new LensTInstances.this.FractionalLens[S,F](lens, scala.this.Predef.implicitly[Fractional[F]](evidence$6));
    case class IntegralLens[S >: Nothing <: Any, I >: Nothing <: Any] extends java.lang.Object with ScalaObject with Product with Serializable {
      <caseaccessor> <paramaccessor> private[this] val lens: scalaz.Lens[S,I] = _;
      <stable> <caseaccessor> <accessor> <paramaccessor> def lens: scalaz.Lens[S,I] = IntegralLens.this.lens;
      <caseaccessor> <paramaccessor> private[this] val ig: Integral[I] = _;
      <stable> <caseaccessor> <accessor> <paramaccessor> def ig: Integral[I] = IntegralLens.this.ig;
      def this(lens: scalaz.Lens[S,I], ig: Integral[I]): LensTInstances.this.IntegralLens[S,I] = {
        IntegralLens.super.this();
        ()
      };
      def %=(that: I): scalaz.package.State[S,I] = IntegralLens.this.lens.%=(((x$79: I) => IntegralLens.this.ig.quot(x$79, that)));
      <synthetic> def copy[S >: Nothing <: Any, I >: Nothing <: Any](lens: scalaz.Lens[S,I] = lens, ig: Integral[I] = ig): LensTInstances.this.IntegralLens[S,I] = new LensTInstances.this.IntegralLens[S, I](lens, ig);
      <synthetic> def copy$default$2[S >: Nothing <: Any, I >: Nothing <: Any]: Integral[I] @scala.annotation.unchecked.uncheckedVariance = IntegralLens.this.ig;
      <synthetic> def copy$default$1[S >: Nothing <: Any, I >: Nothing <: Any]: scalaz.Lens[S,I] @scala.annotation.unchecked.uncheckedVariance = IntegralLens.this.lens;
      override def hashCode(): Int = ScalaRunTime.this._hashCode(IntegralLens.this);
      override def toString(): String = ScalaRunTime.this._toString(IntegralLens.this);
      override def equals(x$1: Any): Boolean = IntegralLens.this.eq(x$1.asInstanceOf[java.lang.Object]).||(x$1 match {
        case (lens: scalaz.Lens[Any,Any], ig: Integral[Any])LensTInstances.this.IntegralLens[Any,Any]((lens$9 @ _), (ig$1 @ _)) if lens$9.==(lens).&&(ig$1.==(ig)) => x$1.asInstanceOf[LensTInstances.this.IntegralLens[S,I]].canEqual(IntegralLens.this)
        case _ => false
      });
      override def productPrefix: java.lang.String = "IntegralLens";
      override def productArity: Int = 2;
      override def productElement(x$1: Int): Any = x$1 match {
        case 0 => lens
        case 1 => ig
        case _ => throw new java.lang.IndexOutOfBoundsException(x$1.toString())
      };
      override def canEqual(x$1: Any): Boolean = x$1.$isInstanceOf[LensTInstances.this.IntegralLens[S,I]]()
    };
    final <synthetic> object IntegralLens extends java.lang.Object with ScalaObject with Serializable {
      def this(): object LensTInstances.this.IntegralLens = {
        IntegralLens.super.this();
        ()
      };
      final override def toString(): java.lang.String = "IntegralLens";
      case <synthetic> def unapply[S >: Nothing <: Any, I >: Nothing <: Any](x$0: LensTInstances.this.IntegralLens[S,I]): Option[(scalaz.Lens[S,I], Integral[I])] = if (x$0.==(null))
        scala.this.None
      else
        new Some[(scalaz.Lens[S,I], Integral[I])](new (scalaz.Lens[S,I], Integral[I])(x$0.lens, x$0.ig));
      case <synthetic> def apply[S >: Nothing <: Any, I >: Nothing <: Any](lens: scalaz.Lens[S,I], ig: Integral[I]): LensTInstances.this.IntegralLens[S,I] = new LensTInstances.this.IntegralLens[S,I](lens, ig)
    };
    @volatile <synthetic> private[this] var IntegralLens$module: object LensTInstances.this.IntegralLens = _;
    final <synthetic> <stable> def IntegralLens: object LensTInstances.this.IntegralLens = new object LensTInstances.this.IntegralLens();
    implicit def integralLens[S >: Nothing <: Any, I >: Nothing <: Any](lens: scalaz.Lens[S,I])(implicit evidence$7: Integral[I]): LensTInstances.this.IntegralLens[S,I] = new LensTInstances.this.IntegralLens[S,I](lens, scala.this.Predef.implicitly[Integral[I]](evidence$7));
    implicit def tuple2Lens[F[_ >: Nothing <: Any] >: [+_]Nothing <: [+_]Any, G[_ >: Nothing <: Any] >: [+_]Nothing <: [+_]Any, S >: Nothing <: Any, A >: Nothing <: Any, B >: Nothing <: Any](lens: scalaz.LensT[F,G,S,(A, B)])(implicit evidence$8: scalaz.Functor[F], evidence$9: scalaz.Functor[G]): (scalaz.LensT[F,G,S,A], scalaz.LensT[F,G,S,B]) = LensTInstances.this.LensTUnzip[F, G, S](evidence$8, evidence$9).unzip[A, B](lens);
    implicit def tuple3Lens[F[_ >: Nothing <: Any] >: [+_]Nothing <: [+_]Any, G[_ >: Nothing <: Any] >: [+_]Nothing <: [+_]Any, S >: Nothing <: Any, A >: Nothing <: Any, B >: Nothing <: Any, C >: Nothing <: Any](lens: scalaz.LensT[F,G,S,(A, B, C)])(implicit evidence$10: scalaz.Functor[F], evidence$11: scalaz.Functor[G]): (scalaz.LensT[F,G,S,A], scalaz.LensT[F,G,S,B], scalaz.LensT[F,G,S,C]) = LensTInstances.this.LensTUnzip[F, G, S](evidence$10, evidence$11).unzip3[A, B, C](lens.xmapbB[(A, (B, C))](BijectionT.tuple3B[scalaz.package.Id, scalaz.package.Id, A, B, C](scalaz.`package`.idInstance, scalaz.`package`.idInstance))(evidence$10, evidence$11));
    implicit def tuple4Lens[F[_ >: Nothing <: Any] >: [+_]Nothing <: [+_]Any, G[_ >: Nothing <: Any] >: [+_]Nothing <: [+_]Any, S >: Nothing <: Any, A >: Nothing <: Any, B >: Nothing <: Any, C >: Nothing <: Any, D >: Nothing <: Any](lens: scalaz.LensT[F,G,S,(A, B, C, D)])(implicit evidence$12: scalaz.Functor[F], evidence$13: scalaz.Functor[G]): (scalaz.LensT[F,G,S,A], scalaz.LensT[F,G,S,B], scalaz.LensT[F,G,S,C], scalaz.LensT[F,G,S,D]) = LensTInstances.this.LensTUnzip[F, G, S](evidence$12, evidence$13).unzip4[A, B, C, D](lens.xmapbB[(A, (B, (C, D)))](BijectionT.tuple4B[scalaz.package.Id, scalaz.package.Id, A, B, C, D](scalaz.`package`.idInstance, scalaz.`package`.idInstance))(evidence$12, evidence$13));
    implicit def tuple5Lens[F[_ >: Nothing <: Any] >: [+_]Nothing <: [+_]Any, G[_ >: Nothing <: Any] >: [+_]Nothing <: [+_]Any, S >: Nothing <: Any, A >: Nothing <: Any, B >: Nothing <: Any, C >: Nothing <: Any, D >: Nothing <: Any, E >: Nothing <: Any](lens: scalaz.LensT[F,G,S,(A, B, C, D, E)])(implicit evidence$14: scalaz.Functor[F], evidence$15: scalaz.Functor[G]): (scalaz.LensT[F,G,S,A], scalaz.LensT[F,G,S,B], scalaz.LensT[F,G,S,C], scalaz.LensT[F,G,S,D], scalaz.LensT[F,G,S,E]) = LensTInstances.this.LensTUnzip[F, G, S](evidence$14, evidence$15).unzip5[A, B, C, D, E](lens.xmapbB[(A, (B, (C, (D, E))))](BijectionT.tuple5B[scalaz.package.Id, scalaz.package.Id, A, B, C, D, E](scalaz.`package`.idInstance, scalaz.`package`.idInstance))(evidence$14, evidence$15));
    implicit def tuple6Lens[F[_ >: Nothing <: Any] >: [+_]Nothing <: [+_]Any, G[_ >: Nothing <: Any] >: [+_]Nothing <: [+_]Any, S >: Nothing <: Any, A >: Nothing <: Any, B >: Nothing <: Any, C >: Nothing <: Any, D >: Nothing <: Any, E >: Nothing <: Any, H >: Nothing <: Any](lens: scalaz.LensT[F,G,S,(A, B, C, D, E, H)])(implicit evidence$16: scalaz.Functor[F], evidence$17: scalaz.Functor[G]): (scalaz.LensT[F,G,S,A], scalaz.LensT[F,G,S,B], scalaz.LensT[F,G,S,C], scalaz.LensT[F,G,S,D], scalaz.LensT[F,G,S,E], scalaz.LensT[F,G,S,H]) = LensTInstances.this.LensTUnzip[F, G, S](evidence$16, evidence$17).unzip6[A, B, C, D, E, H](lens.xmapbB[(A, (B, (C, (D, (E, H)))))](BijectionT.tuple6B[scalaz.package.Id, scalaz.package.Id, A, B, C, D, E, H](scalaz.`package`.idInstance, scalaz.`package`.idInstance))(evidence$16, evidence$17));
    implicit def tuple7Lens[F[_ >: Nothing <: Any] >: [+_]Nothing <: [+_]Any, G[_ >: Nothing <: Any] >: [+_]Nothing <: [+_]Any, S >: Nothing <: Any, A >: Nothing <: Any, B >: Nothing <: Any, C >: Nothing <: Any, D >: Nothing <: Any, E >: Nothing <: Any, H >: Nothing <: Any, I >: Nothing <: Any](lens: scalaz.LensT[F,G,S,(A, B, C, D, E, H, I)])(implicit evidence$18: scalaz.Functor[F], evidence$19: scalaz.Functor[G]): (scalaz.LensT[F,G,S,A], scalaz.LensT[F,G,S,B], scalaz.LensT[F,G,S,C], scalaz.LensT[F,G,S,D], scalaz.LensT[F,G,S,E], scalaz.LensT[F,G,S,H], scalaz.LensT[F,G,S,I]) = LensTInstances.this.LensTUnzip[F, G, S](evidence$18, evidence$19).unzip7[A, B, C, D, E, H, I](lens.xmapbB[(A, (B, (C, (D, (E, (H, I))))))](BijectionT.tuple7B[scalaz.package.Id, scalaz.package.Id, A, B, C, D, E, H, I](scalaz.`package`.idInstance, scalaz.`package`.idInstance))(evidence$18, evidence$19))
  };
  abstract private[scalaz] trait LensTArrId[F[_ >: Nothing <: Any] >: [+_]Nothing <: [+_]Any, G[_ >: Nothing <: Any] >: [+_]Nothing <: [+_]Any] extends java.lang.Object with scalaz.ArrId[[╬▒, ╬▓]scalaz.LensT[F,G,╬▒,╬▓]] with ScalaObject {
    def /*LensTArrId*/$init$(): Unit = {
      ()
    };
    implicit def F: scalaz.Pointed[F];
    implicit def G: scalaz.Pointed[G];
    def id[A >: Nothing <: Any]: scalaz.LensT[F,G,A,A] = LensT.lensId[F, G, A](LensTArrId.this.F, LensTArrId.this.G)
  };
  abstract private[scalaz] trait LensTCategory[F[_ >: Nothing <: Any] >: [+_]Nothing <: [+_]Any, G[_ >: Nothing <: Any] >: [+_]Nothing <: [+_]Any] extends java.lang.Object with scalaz.Choice[[╬▒, ╬▓]scalaz.LensT[F,G,╬▒,╬▓]] with scalaz.Split[[╬▒, ╬▓]scalaz.LensT[F,G,╬▒,╬▓]] with scalaz.LensTArrId[F,G] with ScalaObject {
    def /*LensTCategory*/$init$(): Unit = {
      ()
    };
    implicit def F: scalaz.Monad[F];
    implicit def G: scalaz.Monad[G];
    def compose[A >: Nothing <: Any, B >: Nothing <: Any, C >: Nothing <: Any](bc: scalaz.LensT[F,G,B,C], ab: scalaz.LensT[F,G,A,B]): scalaz.LensT[F,G,A,C] = ab.>=>[C](bc)(LensTCategory.this.F, LensTCategory.this.G);
    def choice[A >: Nothing <: Any, B >: Nothing <: Any, C >: Nothing <: Any](f: => scalaz.LensT[F,G,A,C], g: => scalaz.LensT[F,G,B,C]):
scalaz.LensT[F,G,Either[A,B],C] = LensT.lensT[F, G, Either[A,B], C](((x0$10: Either[A,B]) => x0$10 match {
      case (a: A)Left[A,B]((a @ _)) => LensTCategory.this.F.map[scalaz.package.Costate[C,G[A]], scalaz.CostateT[scalaz.package.Id,C,G[Left[A,Nothing]]]](f.run(a))(((x$80: scalaz.package.Costate[C,G[A]]) => x$80.map[G[Left[A,Nothing]]](((x$81: G[A]) => LensTCategory.this.G.map[A, Left[A,Nothing]](x$81)(((x$82: A) => new Left[A,Nothing](x$82)))))(scalaz.`package`.idInstance)))
      case (b: B)Right[A,B]((b @ _)) => LensTCategory.this.F.map[scalaz.package.Costate[C,G[B]], scalaz.CostateT[scalaz.package.Id,C,G[Right[Nothing,B]]]](g.run(b))(((x$83: scalaz.package.Costate[C,G[B]]) => x$83.map[G[Right[Nothing,B]]](((x$84: G[B]) => LensTCategory.this.G.map[B, Right[Nothing,B]](x$84)(((x$85: B) => new Right[Nothing,B](x$85)))))(scalaz.`package`.idInstance)))
    }));
    def split[A >: Nothing <: Any, B >: Nothing <: Any, C >: Nothing <: Any, D >: Nothing <: Any](f: scalaz.LensT[F,G,A,B], g: scalaz.LensT[F,G,C,D]): scalaz.LensT[F,G,(A, C),(B, D)] = f.***[C, D](g)(LensTCategory.this.F, LensTCategory.this.G)
  };
  sealed abstract trait LensGetHistory[A >: Nothing <: Any, B >: Nothing <: Any] extends java.lang.Object with ScalaObject {
    def /*LensGetHistory*/$init$(): Unit = {
      ()
    };
    <stable> <accessor> def history: scalaz.DList[(A, B)];
    def targets: scalaz.DList[A] = LensGetHistory.this.history.map[A](((x$86: (A, B)) => x$86._1));
    def gets: scalaz.DList[B] = LensGetHistory.this.history.map[B](((x$87: (A, B)) => x$87._2));
    def historyList: List[(A, B)] = LensGetHistory.this.history.toList
  };
  final object LensGetHistory extends java.lang.Object with scalaz.LensGetHistoryInstances with ScalaObject {
    def this(): object scalaz.LensGetHistory = {
      LensGetHistory.super.this();
      ()
    }
  };
  abstract trait LensGetHistoryInstances extends java.lang.Object with ScalaObject {
    def /*LensGetHistoryInstances*/$init$(): Unit = {
      ()
    };
    implicit def lensGetHistoryMonoid[A >: Nothing <: Any, B >: Nothing <: Any]: scalaz.Monoid[scalaz.LensGetHistory[A,B]] = {
      final class $anon extends java.lang.Object with scalaz.Monoid[scalaz.LensGetHistory[A,B]] {
        def this(): anonymous class $anon = {
          $anon.super.this();
          ()
        };
        private[this] val zero: java.lang.Object with scalaz.LensGetHistory[A,B] = {
          final class $anon extends java.lang.Object with scalaz.LensGetHistory[A,B] {
            def this(): anonymous class $anon = {
              $anon.super.this();
              ()
            };
            private[this] val history: scalaz.DList[(A, B)] = DList.apply[(A, B)]();
            <stable> <accessor> def history: scalaz.DList[(A, B)] = $anon.this.history
          };
          new $anon()
        };
        <stable> <accessor> def zero: java.lang.Object with scalaz.LensGetHistory[A,B] = $anon.this.zero;
        def append(a: scalaz.LensGetHistory[A,B], b: => scalaz.LensGetHistory[A,B]): java.lang.Object with scalaz.LensGetHistory[A,B] = {
          final class $anon extends java.lang.Object with scalaz.LensGetHistory[A,B] {
            def this(): anonymous class $anon = {
              $anon.super.this();
              ()
            };
            private[this] val history: scalaz.DList[(A, B)] = a.history.++(b.history);
            <stable> <accessor> def history: scalaz.DList[(A, B)] = $anon.this.history
          };
          new $anon()
        }
      };
      new $anon()
    };
    implicit def lensGetHistoryMonoidEqual[A >: Nothing <: Any, B >: Nothing <: Any](implicit evidence$20: scalaz.Equal[A], evidence$21:
scalaz.Equal[B]): scalaz.Equal[scalaz.LensGetHistory[A,B]] = {
      Equal.apply[scalaz.DList[(A, B)]](scalaz.this.DList.dlistEqual[(A, B)](scalaz.this.std.tuple.tuple2Equal[A, B](evidence$20, evidence$21))).contramap[scalaz.LensGetHistory[A,B]](((x$88: scalaz.LensGetHistory[A,B]) => (x$88: scalaz.LensGetHistory[A,B]).history))
    }
  };
  sealed abstract trait LensSetHistory[A >: Nothing <: Any, B >: Nothing <: Any] extends java.lang.Object with ScalaObject {
    def /*LensSetHistory*/$init$(): Unit = {
      ()
    };
    <stable> <accessor> def history: scalaz.DList[(A, B, A)];
    def targets: scalaz.DList[A] = LensSetHistory.this.history.map[A](((x$89: (A, B, A)) => x$89._1));
    def sets: scalaz.DList[B] = LensSetHistory.this.history.map[B](((x$90: (A, B, A)) => x$90._2));
    def results: scalaz.DList[A] = LensSetHistory.this.history.map[A](((x$91: (A, B, A)) => x$91._3));
    def historyList: List[(A, B, A)] = LensSetHistory.this.history.toList
  };
  final object LensSetHistory extends java.lang.Object with scalaz.LensSetHistoryInstances with ScalaObject {
    def this(): object scalaz.LensSetHistory = {
      LensSetHistory.super.this();
      ()
    }
  };
  abstract trait LensSetHistoryInstances extends java.lang.Object with ScalaObject {
    def /*LensSetHistoryInstances*/$init$(): Unit = {
      ()
    };
    implicit def lensSetHistoryMonoid[A >: Nothing <: Any, B >: Nothing <: Any]: scalaz.Monoid[scalaz.LensSetHistory[A,B]] = {
      final class $anon extends java.lang.Object with scalaz.Monoid[scalaz.LensSetHistory[A,B]] {
        def this(): anonymous class $anon = {
          $anon.super.this();
          ()
        };
        private[this] val zero: java.lang.Object with scalaz.LensSetHistory[A,B] = {
          final class $anon extends java.lang.Object with scalaz.LensSetHistory[A,B] {
            def this(): anonymous class $anon = {
              $anon.super.this();
              ()
            };
            private[this] val history: scalaz.DList[(A, B, A)] = DList.apply[(A, B, A)]();
            <stable> <accessor> def history: scalaz.DList[(A, B, A)] = $anon.this.history
          };
          new $anon()
        };
        <stable> <accessor> def zero: java.lang.Object with scalaz.LensSetHistory[A,B] = $anon.this.zero;
        def append(a: scalaz.LensSetHistory[A,B], b: => scalaz.LensSetHistory[A,B]): java.lang.Object with scalaz.LensSetHistory[A,B] = {
          final class $anon extends java.lang.Object with scalaz.LensSetHistory[A,B] {
            def this(): anonymous class $anon = {
              $anon.super.this();
              ()
            };
            private[this] val history: scalaz.DList[(A, B, A)] = a.history.++(b.history);
            <stable> <accessor> def history: scalaz.DList[(A, B, A)] = $anon.this.history
          };
          new $anon()
        }
      };
      new $anon()
    };
    implicit def lensSetHistoryMonoidEqual[A >: Nothing <: Any, B >: Nothing <: Any](implicit evidence$22: scalaz.Equal[A], evidence$23:
scalaz.Equal[B]): scalaz.Equal[scalaz.LensSetHistory[A,B]] = {
      Equal.apply[scalaz.DList[(A, B, A)]](scalaz.this.DList.dlistEqual[(A, B, A)](scalaz.this.std.tuple.tuple3Equal[A, B, A](evidence$22, evidence$23, evidence$22))).contramap[scalaz.LensSetHistory[A,B]](((x$92: scalaz.LensSetHistory[A,B]) => (x$92: scalaz.LensSetHistory[A,B]).history))
    }
  }
}
[error] {file:/C:/work/scalaz/}core/compile:compile: scala.tools.nsc.symtab.Types$TypeError: cyclic aliasing or subtyping involving type
Id
[error] Total time: 4 s, completed May 9, 2012 5:48:01 PM

Miles Sabin

unread,
May 10, 2012, 4:39:30 AM5/10/12
to Runar Bjarnason, scala...@googlegroups.com
On Wed, May 9, 2012 at 8:05 PM, Runar Bjarnason <runar...@gmail.com> wrote:
> I've posted the error on Pastebin:
>
> http://pastebin.com/bWCRpA8E

I think you should get some sort of prize for that one ... ;-)

Cheers,


Miles

--
Miles Sabin
tel: +44 7813 944 528
gtalk: mi...@milessabin.com
skype: milessabin
g+: http://www.milessabin.com
http://twitter.com/milessabin
http://underscoreconsulting.com
http://www.chuusai.com

Kevin Wright

unread,
May 10, 2012, 4:54:38 AM5/10/12
to Miles Sabin, Runar Bjarnason, scala...@googlegroups.com
My eyes are bleeding! Such pain...
--
Kevin Wright
mail: kevin....@scalatechnology.com
gtalk / msn : kev.lee...@gmail.com
vibe / skype: kev.lee.wright
steam: kev_lee_wright

"My point today is that, if we wish to count lines of code, we should not regard them as "lines produced" but as "lines spent": the current conventional wisdom is so foolish as to book that count on the wrong side of the ledger" ~ Dijkstra

Jason Zaugg

unread,
May 10, 2012, 5:04:45 AM5/10/12
to Runar Bjarnason, scala...@googlegroups.com
On Wed, May 9, 2012 at 11:50 PM, Runar Bjarnason <runar...@gmail.com> wrote:
> I have simplified this somewhat by eliminating the Leibniz type altogether.
> But the error is very similar still:

Two ideas:

1. run `last` to see the full stack trace of the compiler exception,
not just the enormous message.
2. If you can isolate this, compile with SBT 0.11.3 and Scala
2.10.0-M3, you should get a better crash diagnostic.

-jason
Reply all
Reply to author
Forward
0 new messages