I would suggest  { someMaybeField :: f (Maybe Value) }, or perhaps newtype MaybeValue = MV (Maybe Value).


On Thu, Aug 14, 2014 at 12:19 AM, Tom Ellis <tom-lists-haskell-cafe-2013@jaguarpaw.co.uk> wrote:
On Wed, Aug 13, 2014 at 05:21:28PM -0700, John Lato wrote:
> On Wed, Aug 13, 2014 at 4:21 PM, Tom Ellis
> >     data LineItem = LineItem { name :: Maybe String
> >                              , quantity :: Maybe Quantity
> >                              , price :: Maybe Price }
>
> Rather than this definition, what about something like:
>
>     data LineItemF f = LineItem
>         { name :: f String
>         , quantity :: f Quantity
>         , price :: f Price }

It seems Wojtek already objected to this approach, though perhaps that
objection could be overcome

    http://www.haskell.org/pipermail/haskell-cafe/2014-August/115528.html
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe