[
Size: a a a
[
JS
JS
[
JS
KV
[
KV
KV
IO
Free = Pure | Free инлайниться вряд ли будут, у них интерпретаторы рекурсивные, а вот church encoded/Codensity вполне себе должны. Проблема только в том что рекурсивные монадические функции все равно все сломают. Strong, а там в плане инлайнинга если я правильно понимаю то же самое что и с фри монадами: наивное представление будут рекурсивными, church encoded будут инлайниться для нерекурсивных случаев. (Поправьте пж если не прав)IO
JS
data Tag = Tag1 | Tag2
fun1 :: Foo Tag1 -> Bar
fun1 = baz . qux
fun2 :: Foo Tag2 -> Bar
fun2 = baz . qux
fun :: Foo tag -> Bar
fun = baz . qux
(Alfa tag, Bravo tag, Charlie (Delta tag)) =>, которые в случае частных тэгов сами обнаруживались.JS
KV