# How to explicitly disambiguate record updates?

**URL:** <https://discourse.haskell.org/t/how-to-explicitly-disambiguate-record-updates/14762>\
**Category:** Learn\
**Created:** [September 28, 2026, 12:04pm UTC](https://discourse.haskell.org/t/how-to-explicitly-disambiguate-record-updates/14762 "2026-09-28T12:04:35Z")\
**Posts on this page:** 1\
**Showing post:** 4

<div class="post-metadata">

**Author:** ![george.fst](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/george.fst/32/4933_2.png) [@george.fst](https://discourse.haskell.org/u/george.fst)\
**Post date:** [September 28, 2026, 6:46pm UTC](https://discourse.haskell.org/t/how-to-explicitly-disambiguate-record-updates/14762/4 "2026-09-28T18:46:59Z")

</div>

You can add an extra annotation to `myA`, i.e. rewriting that one line to `print $ (myA :: A) {c = 13}`. Then you get a warning which you can safely ignore with `{-# OPTIONS_GHC -Wno-ambiguous-fields #-}`. And then some day, you’ll be able to add `{-# LANGUAGE OverloadedRecordUpdate #-}` and remove the annotation.

[Yes, this is all horrible.](https://discourse.haskell.org/t/what-are-you-supposed-to-do-about-wambiguous-fields/9545/22)

---

_[View the full topic](https://discourse.haskell.org/t/how-to-explicitly-disambiguate-record-updates/14762)._
