| ... | ... | @@ -309,6 +309,24 @@ foo x@(C2 {}) = x {f1 = 2} | 
| 
 | 
 | 
foo x         = x {~f1, f2 = f2 x + 1}
 | 
| 
 | 
 | 
```
 | 
| 
 | 
 | 
 | 
| 
 | 
 | 
### GHC Extension
 | 
| 
 | 
 | 
 | 
| 
 | 
 | 
 | 
| 
 | 
 | 
 | 
| 
 | 
 | 
Note that in GHC you can work around it like this:
 | 
| 
 | 
 | 
 | 
| 
 | 
 | 
 | 
| 
 | 
 | 
```wiki
 | 
| 
 | 
 | 
foo :: T a -> T Int
 | 
| 
 | 
 | 
foo x@(C1 {}) = x {f1 = 1}
 | 
| 
 | 
 | 
foo x@(C2 {}) = x {f1 = 2}
 | 
| 
 | 
 | 
foo C3{..}    = C3{..}
 | 
| 
 | 
 | 
```
 | 
| 
 | 
 | 
 | 
| 
 | 
 | 
 | 
| 
 | 
 | 
To enable this extension, use `-XRecordWildCards`.
 | 
| 
 | 
 | 
 | 
| 
 | 
 | 
 | 
| 
 | 
 | 
### Comment
 | 
| 
 | 
 | 
 | 
| 
 | 
 | 
 | 
| ... | ... |  |