@)      !"#$%&'(None:Derive from this to convert from a CValue to Haskell type ToCValue Class A generic C value Primitive C values %YThis is used for the conversion from a CValue back to Haskell type. Ideally it should be e and index, but unforunately this does not work with the way Generics creates its :+: binary tree.  I'Om leaving it here for now, but I might find a more elegant way to handle this. &A step in union path   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~)  !"#$%&'() &('% $#"!  \  $#"!  %&(')*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~simple-c-value-0.0.0.1Language.C.Simple.CValue FromCValue fromCValueToCValuetoCValueCValueVoidVMemberVArray VPrimitiveVUnionVStructPrimitiveValuePDoublePFloat PSUSeconds PUSecondsPTimePClockPUIntMaxPIntMaxPUIntPtrPIntPtrPULLongPLLong PSigAtomicPWcharPSizePPtrdiffPULongPLongPUIntPIntPUShortPShortPUCharPSCharPChar UnionPathSideRghtLft$fIsSumU1False$fIsSumK1False$fIsSum:*:False$fIsSum:+:True $fIsSumM1b $fIsSumM1b0 $fIsSumM1b1 $fGFromSumf $fGFromSum:+:$fGFromProductM1$fGFromProduct:*:$fConsFromCValue'Falsef$fConsFromCValue'Truef$fConsFromCValuef$fGFromCValue:*:$fGFromCValueK1$fGFromCValueM1$fGFromCValueM10$fGFromCValueM11$fGFromCValueU1$fFromCValue[]$fFromCValueCDouble$fFromCValueCFloat$fFromCValueCSUSeconds$fFromCValueCUSeconds$fFromCValueCTime$fFromCValueCClock$fFromCValueCUIntMax$fFromCValueCIntMax$fFromCValueCUIntPtr$fFromCValueCIntPtr$fFromCValueCULLong$fFromCValueCLLong$fFromCValueCSigAtomic$fFromCValueCWchar$fFromCValueCSize$fFromCValueCPtrdiff$fFromCValueCULong$fFromCValueCLong$fFromCValueCUInt$fFromCValueCInt$fFromCValueCUShort$fFromCValueCShort$fFromCValueCUChar$fFromCValueCSChar$fFromCValuePrimitiveValue$fGToCValueList'True:+:$fGToCValueList'Falsef$fGToCValueListf$fDispatchConstructor'Falsef$fDispatchConstructor'Truea$fDispatchConstructorf$fGConArgToLitM1$fGConArgToLit:*:$fGToCValue:*: $fGToCValueK1 $fGToCValueM1$fGToCValueM10$fGToCValueM11 $fGToCValueU1 $fToCValue[]$fToCValueCSUSeconds$fToCValueCUSeconds$fToCValueCTime$fToCValueCClock$fToCValueCUIntMax$fToCValueCIntMax$fToCValueCUIntPtr$fToCValueCIntPtr$fToCValueCULLong$fToCValueCLLong$fToCValueCSigAtomic$fToCValueCWchar$fToCValueCSize$fToCValueCPtrdiff$fToCValueCULong$fToCValueCLong$fToCValueCUInt$fToCValueCInt$fToCValueCUShort$fToCValueCShort$fToCValueCUChar$fToCValueCSChar$fToCValueCChar$fToCValueCDouble$fToCValueCFloat