This is (a) one of the big advantages of records and (b) why it's a mistake to
have the record discussion without taking into account some notion of lens.
Haskell field names are a red herring because they're selector functions - what
we need is a record system which generates lenses and solves
> It indeed does, even though I doubted it at first. As far as I remember
> the type in
>
>getnArrayST n bs :: ST s (Maybe (UArray Int Word8, [Word8])) =
>
> used to be necessary to bind the type variable s. Apparently things
> have become easier.
The higher-rank inference has been change