{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreihxk2zyyy4yfkcwrx5qteld7rzxe3mgfgoarpjz7wq4wqy47ve2sy",
    "uri": "at://did:plc:pi6woz4d47bkuws673w2il2r/app.bsky.feed.post/3mgmiz2bdfo52"
  },
  "path": "/t/sneak-peek-bolt-math/13766#post_10",
  "publishedAt": "2026-03-09T06:57:15.000Z",
  "site": "https://discourse.haskell.org",
  "tags": [
    "numeric-prelude"
  ],
  "textContent": "ApothecaLabs:\n\n> There is also numeric-prelude as prior art, which looks so good until you click a module and see it is all `class C a => C a where` and I am instantly like\n\nSadly, this was a beautiful idea cut down by Haddock before it had a chance to take root. The idea is to go all in on qualified imports. If `Algebra.Field` exports a class representing fields, what are you gonna call it? `Algebra.Field.Field`? If you’re always gonna import qualified anyway, there’s no ambiguity in just calling it `Algebra.Field.C`!\n\nBut then Haddock strips all qualifications and you’re left with nonsense when reading docs.\n\n(The idea might have never worked anyway since it _forces_ users to use qualified imports, but I _can_ imagine a world where that became the norm.)",
  "title": "Sneak Peek: Bolt Math"
}