This is a round-about way to produce a Value
from a ToJSON
instance.
it is written this way to avoid calling toJSON
which might be undefined
for some datatypes that only implement toEncoding
.
It is defined in a separate module due to the TH stage restrictions as we need
to lift
toJSONE
eventually.