object Example extends App {
  final case class Foo[A](run: A ?=> Int) {
    // def copy[A]: this.A ?=> Int = (using a) => run
  }
}

object Example extends App {
  final case class Foo[A](run: A ?=> Int)
}

object Example2 extends App {
  final case class Foo[A, B](run: (A, B) ?=> Int)
}


object Example3 extends App {
  final case class Foo[A, B](run: () ?=> Int)
}

Add test for different arities
Add test for different arities
