Hello cafe!It seems that this behavior is wrong:> class Foo a where { type Bar a; baz :: a -> Bar a }> baz zzz -- zzz is not in scope<interactive>:17:1: error:• Couldn't match expected type ‘Bar a’ with actual type ‘Bar a0’NB: ‘Bar’ is a type function, and may not be injectiveThe type variable ‘a0’ is ambiguous• In the ambiguity check for the inferred type for ‘it’To defer the ambiguity check to use sites, enable AllowAmbiguousTypesWhen checking the inferred typeit :: forall a. Bar aAs opposite - correct behavior:> :t negatenegate :: Num a => a -> a> negate zzz<interactive>:19:8: error: Variable not in scope: zzzBest regards,Dmitry