For information: I have reported a Scala 3 issue which sometimes causes Surface to fail with an error on some classes using generic types for parameters.
See scala/scala3#19795
The failure can be seen even on simple classes, like:
trait MyOption[T]
class Wrap(val option: MyOption[Int])