foo :: forall f. (Inject Bar f, Inject Baz f) => Free f Foo
далее интерпретация в первом случае - это предоставление (Monad r, Bar r, Baz r), это явно написано в сигнатуре во втором - это предоставление Monad r, Bar ~> r, Baz ~> r это ещё нужно вычислить из сигнатуры