id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	os	architecture	failure	difficulty	testcase	blockedby	blocking	related
3219	functions on records with overloaded names can be given a too-specific type	dmwit		"Here's a reduced test-case showing a discrepancy between the symmetric functions `foo` and `bar`; the inferred type for `foo` is too specific.

{{{
data T a = A{ m1 :: a } | B{ m1, m2 :: a } | C{ m2 :: a }

-- bar :: (t -> a) -> T t -> T a
bar f x@(A m) = x{m1 = f m}

-- foo :: (a -> a) -> T a -> T a
foo f x@(C m) = x{m2 = f m}
}}}"	bug	closed	normal		Compiler (Type checker)	6.10.1	fixed			Unknown/Multiple	Unknown/Multiple		Unknown	typecheck/should_compile/T3219			
