T7328.hs:8:34: error: • Occurs check: cannot construct the infinite kind: k10 ~ k0 -> k10 • In the first argument of ‘Foo’, namely ‘f’ In the first argument of ‘Proxy’, namely ‘Foo f’ In the type signature: foo :: a ~ f i => Proxy (Foo f)