hsdata T = MkT { x :: Int }
hsinstance HasField "x" T Int where getField _ = x instance UpdateField "x" T T Int where setField _ (MkT _) x = MkT x