your perspective here is a good one
1) i absolutely agree, nothing should touch storable, whatesoever,
2) the baseline proposal is to add an Addr to Base (essentially Ptr ()), which would be a crippled sibling of how its exposed in Data.Primitive I guess?
3) as a litmus for "what would this acomplish/support", i was asking "how would this get used/help base be nicer "? If
anyways: i did a strawman of what Addr ripped out of Data.Primitive.Addr and into base would look like, and it doesn't look especially compelling / nicer than Ptr shenanigans. Especially since to be useful in base it would have to have a bunch of IO / ST specific operations that have the option perhaps of using Storable to read /write at locations. At which point I still need to have the same API surface area again in Primitive,
the api i could expose there in base does not reduce the implementation surface area needed for Primitve...
i'm open to being convinced otherwise, but with Sven's perspective weighed in,
1) i dont see it being super useful within base/ghc apis, as they exist today
2) it doesn't reduce implementation surface area burden in the Primitive package.
so at this point im' weakly against the addition. more work, no clear reward for me :)