@@ -140,7 +140,7 @@ moduleToCpp env (Module _ mn imps _ foreigns decls) = do
140140 []
141141 (CppBlock (fieldLambdas fs))
142142 where
143− name = qualifiedToStr (ModuleName []) id (Qualified (Just mn) ident)
143+ name = identToCpp ident
144144 fields' = identToCpp <$> fields
145145 (f, fs) | (f' : fs') <- fields' = ([f'], fs')
146146 | otherwise = ([], [])
@@ -402,14 +402,16 @@ moduleToCpp env (Module _ mn imps _ foreigns decls) = do
402402 binderToCpp varName done (ConstructorBinder (_, _, _, Just IsNewtype) _ _ [b]) =
403403 binderToCpp varName done b
404404
405− binderToCpp varName done (ConstructorBinder (_, _, _, Just (IsConstructor ctorType fields)) _ ctor bs) = do
405+ binderToCpp varName done (ConstructorBinder (_, _, _, Just (IsConstructor ctorType fields))
406+ _
407+ (Qualified _ (ProperName ctor))
408+ bs) = do
406409 cpps <- go (zip fields bs) done
407− let ctor' = qualifiedToStr (ModuleName []) (Ident . runProperName) ctor
408410 return $ case ctorType of
409411 ProductType -> cpps
410412 SumType ->
411413 [ CppIfElse (CppBinary Equal (CppIndexer (CppVar ctorKey) (CppVar varName))
412− (CppStringLiteral ctor'))
414+ (CppStringLiteral ctor))
413415 (CppBlock cpps)
414416 Nothing ]
415417 where