Transforms
@poly
trait MyTypeclass[In] {
type Out
def foo(in: In): Out
}
into
trait MyTypeclass[In] {
type Out
def foo(in: In): Out
}
object MyTypeclass {
object myTypeclassPoly extends Poly1 {
implicit def cse(implicit mtc: MyTypeclass[In]): Case.Aux[In, mtc.Out] = at(in => mtc.foo(in))
}
}
Transforms
into