ЮБ
object liftF {
trait encoder {
type Raw
type Tag <: this.type
implicit def liftedEncoder(implicit rawEncoder: Encoder[Raw]): Encoder[Raw @@ Tag] = LiftF[Encoder].lift
}
trait decoder {
type Raw
type Tag <: this.type
implicit def liftedDecoder(implicit rawDecoder: Decoder[Raw]): Decoder[Raw @@ Tag] = LiftF[Decoder].lift
}
trait codec extends encoder with decoder
}