The main problem with adding those in general is that then we have to get deeper into the business of packing and alignment. You need to add the spacers for when the second structure isn't aligned with the first, and the logic for that isn't cross-platform friendly.

-Edward



On Mon, Jun 29, 2015 at 11:04 AM, Henning Thielemann <lemming@henning-thielemann.de> wrote:

On Mon, 29 Jun 2015, Edward Kmett wrote:

Also, I wonder if () could be Storable:

instance Storable () where
  sizeOf _ = 0
  alignment _ = 1
  peek _ = return ()
  poke _ _ = return ()


No objection from me to any of them; a very strong +1.

Btw. what about Storable (a,b) and Storable (a,b,c)?