Действительно... Но, получается, можно иметь две разные (несовместимые) структуры из этих Positive, Modulo, Divisible, Even, которые выражаются друг через друга, но используют...
Если абстрагироваться, ты хочешь List[Free[F, X[List[B]]]] в Free[F, X[List[B]]]? Если X -- монада (как у тебя), ты можешь от List[Free[F, X[List[B]]]] всегда перейти к X[List...
так ты реши чего ты хочешь? Если тебе надо работать с новым значением, сделай сначала update (и игнорируй возвращённый Unit ), а потом делай get
Господа, вопрос про refined: почему c _0 работает, а W.`0.T` нет? https://scastie.scala-lang.org/buzden/uK1vti7GQkKFt1ITJnOLSQ/1
Цепочки по типу таких? https://scastie.scala-lang.org/wceNt0enRBSvW0pdxuflUw Или таких? https://scastie.scala-lang.org/roXtEWLPRA6csuy7rMxOnQ
А насколько scalameta удобно применима к задаче, когда по scala-коду надо сгенерировать уже не scala-код?
Странно, а почему оно превратилось в тыкву?