I think I have found out why users see the thunked fields as below.
Am Dienstag, den 26.03.2019, 10:38 +0100 schrieb Ludovic Courtès:
The issue is that for constructing the records, we let*-bind the field
names to their values before calling the constructor. In these let*-
bindings the fields are already wrapped, e.g. inputs will be bound to
the value that the record field inputs will have, not to the raw value.
I've attached a patch to fix this issue as well as a MWE to try it out.
I'm not sure about the broader semantics of this patch, though. I fear
that exposing raw values through let-binding probably eliminates the
delayed/thunked nature of said fields in some ways. WDYT?