module test import GenC :: List a = Nil | Cons a (List a) :: NInt =: NInt Int :: T = A | B | C :: R = {i :: Int, q :: T} :: Muta a = Muta (Mutb a) :: Mutb a = Mutb (Muta a) derive gToStruct NInt, T, List, R, Muta, Mutb, (,), (), [], (,,) derive gPotInf NInt, T, List, R, Muta, Mutb, (,), (), [], (,,) Start = (toCFiles t) where t :: Box String (List (Muta Int)) // t :: Box GTSState NInt t = Box "listmutaint"