Remove pair rules (#253)
authorDavid Feuer <David.Feuer@gmail.com>
Mon, 23 May 2016 21:27:07 +0000 (17:27 -0400)
committerDavid Feuer <David.Feuer@gmail.com>
Mon, 23 May 2016 21:27:07 +0000 (17:27 -0400)
commitdf3d64797a6c3ed812a9331707f6600dd0168d4e
treea00cfe7673c632c278818d62fb02f7386d202ae9
parentab41e499713fc4d73de460d686e1c688fbdbb1ac
Remove pair rules (#253)

* Scrap alterF pair rewrite rules

The rules rewrote to an overly strict implementation.
Specifically, if the function gives us

```haskell
(b, undefined :: Maybe a)
```

then we need to produce

```haskell
(b, undefined :: Map k a)
```

Making the rules correct greatly reduces their benefit even
when they're beneficial, and introduces situations where they
may be harmful. So sadly I'm scrapping them.

* Re-fix Haddock markup for alterF

That was bundled with the reverted commits.
Data/Map/Base.hs
Data/Map/Strict.hs
benchmarks/Map.hs