Record update with duplicate fields is incorrectly accepted
module T21959 where
data R = R { fld :: Int }
deriving stock Show
f :: R -> R
f r = r { T21959.fld = 1, fld = 2 }
>>> show (f (R 0))
> "R {fld = 2}"
This is because the duplicate field check doesn't take into account qualified names. I will fix in !8686 (merged).