Working on the partial evaluator, I found the following case where normalizeType doesn't seem to work as advertised.
Attempting to normalize
BitSize (Maybe (Vec 2 (Maybe Bool)))
gives
CLog 2 (GConstructorCount (Rep (Maybe (Vec 2 (Maybe Bool))))) + GFieldSize (Rep (Maybe (Vec 2 (Maybe Bool))))
but using normalizeType tcm (normalizeType tcm ty) gives
which is what was initially expected.
Working on the partial evaluator, I found the following case where
normalizeTypedoesn't seem to work as advertised.Attempting to normalize
gives
but using
normalizeType tcm (normalizeType tcm ty)giveswhich is what was initially expected.