I'm not sure it's even possible to fix this but you'll notice that when defining a record with function types, you must use parenthesis like this:
type MyRec = R ( "runThing" := (a -> IO b) )
Without parens, the parser thinks you are defining ("runThing" := a) -> IO b as an unlabeled record.
I'm not sure it's even possible to fix this but you'll notice that when defining a record with function types, you must use parenthesis like this:
Without parens, the parser thinks you are defining
("runThing" := a) -> IO bas an unlabeled record.