@@ -193,7 +193,7 @@ mkDeserializeExpr True headTy tyOfTy =
193193 [|($(litIntegral lenCname) == $(varE conLen))
194194 && $(xorCmp tag off _arr)|]
195195 [|let $(varP (makeI 0)) = $(varE off) + $(litIntegral lenCname)
196− in $(mkDeserializeExprOne con)|]
196+ in $(mkDeserializeExprOne 'deserialize con)|]
197197
198198mkDeserializeExpr False headTy tyOfTy =
199199 case tyOfTy of
@@ -204,7 +204,7 @@ mkDeserializeExpr False headTy tyOfTy =
204204 TheType con ->
205205 letE
206206 [valD (varP (mkName "i0")) (normalB (varE _initialOffset)) []]
207− (mkDeserializeExprOne con)
207+ (mkDeserializeExprOne 'deserialize con)
208208 -- Sum type
209209 MultiType cons -> do
210210 let lenCons = length cons
@@ -220,7 +220,9 @@ mkDeserializeExpr False headTy tyOfTy =
220220 ]
221221 where
222222 peekMatch (i, con) =
223− match (litP (IntegerL i)) (normalB (mkDeserializeExprOne con)) []
223+ match
224+ (litP (IntegerL i))
225+ (normalB (mkDeserializeExprOne 'deserialize con)) []
224226 peekErr =
225227 match
226228 wildP
@@ -289,7 +291,7 @@ mkSerializeExpr True tyOfTy =
289291 (doE [ bindS
290292 (varP (mkName "i0"))
291293 (serializeW8List _initialOffset _arr conEnc)
292− , noBindS (mkSerializeExprFields fields)
294+ , noBindS (mkSerializeExprFields 'serialize fields)
293295 ])
294296
295297mkSerializeExpr False tyOfTy =
@@ -305,7 +307,7 @@ mkSerializeExpr False tyOfTy =
305307 [ matchConstructor
306308 cname
307309 (length fields)
308− (mkSerializeExprFields fields)
310+ (mkSerializeExprFields 'serialize fields)
309311 ])
310312 -- Sum type
311313 (MultiType cons) -> do
@@ -320,7 +322,10 @@ mkSerializeExpr False tyOfTy =
320322 (doE [ bindS
321323 (varP (mkName "i0"))
322324 (mkSerializeExprTag tagType tagVal)
323− , noBindS (mkSerializeExprFields fields)
325+ , noBindS
326+ (mkSerializeExprFields
327+ 'serialize
328+ fields)
324329 ]))
325330 (zip [0 ..] cons))
326331