Отображение по HList вызывает AbstractMethodError
Я пытаюсь shapeless
Пример в REPL и получение ошибки времени выполнения:
scala> import shapeless._
import shapeless._
scala> import shapeless.poly._
import shapeless.poly._
scala> object choose extends (Set ~> Option) {
| def apply[T](set: Set[T]) = set.headOption
| }
defined object choose
scala> val sets = Set(1) :: Set(0) :: HNil
sets: shapeless.::[scala.collection.immutable.Set[Int],shapeless.::[scala.collection.immutable.Set[Int],shapeless.HNil]] = Set(1) :: Set(0) :: HNil
scala> sets map choose
java.lang.AbstractMethodError: choose$.caseUniv()Lshapeless/PolyDefns$Case;
... 42 elided
Вы знаете, почему это не работает и как это исправить?