type family F (a :: Nat) (b :: Nat) :: Nat
proxyEq5
:: forall a b
. KnownNat (F (a * 3) b * 3)
=> Proxy a
-> Proxy b
-> Proxy (3 * F (3 * a) b)
proxyEq5 = theProxy
where
theProxy
:: forall a b
. KnownNat (F (2 * a + a) b + (2 * F (a + 2 * a) b))
=> Proxy a
-> Proxy b
-> Proxy (3 * F (3 * a) b)
theProxy _ _ = Proxy
This happens with:
The issue seems to be with http://hackage.haskell.org/package/ghc-tcplugins-extra-0.4/docs/GHC-TcPluginM-Extra.html#v:flattenGivens
because looking at givens + flattened givens I see:
where the important given is the flattened:
where
fsk_aCra[fsk:1]
hasn't been fully expanded