-- test0a = Config {
--   cTypes = [mPing (pvar "x"), mPong (pvar "x"), MTApp (MTyCon "Unit") []]
--   , cSets  = []
--   , cProcs = [(tpid0,
--                     [Loop (V "X")
--                       [Send tpid1 [(mPing tpid0, [Recv [(mPong (pvar "x"), [Goto (V "X") ()])] ()])] ()] ()])
--              ,(tpid1,
--                     [Loop (V "Y")
--                       [Recv [(mPing (pvar "x"), [Send (pvar "x") [(mPong tpid1, [Goto (V "Y") ()])] ()])] ()] ()])]
-- }

test1 :: Config ()
test1= Config {
         cTypes = [mPing (pvar "x"), mPong (pvar "x"), MTApp (MTyCon "Unit") []]
       , cSets  = []
       , cUnfold = []
  , cProcs = [(tpid0,
                Iter (V "pi") (S "ps")
                  (Block [Send (PVar (V "pi")) [(mPing tpid0, Recv [(mPong (pvar "x"), Skip ())] ())] ()] ()) ())
             ,(tpid2, Recv [(mPing (pvar "x"), Send (pvar "x") [(mPong tpid2, Skip ())] ())] ())]
}
test1 :: Config ()
test1= Config {
         cTypes = [mPing (pvar "x"), mPong (pvar "x"), MTApp (MTyCon "Unit") []]
       , cSets  = []
       , cUnfold = []
  , cProcs = [(tpid0,
                Iter (V "pi") (S "ps")
                  (Block [Send (PVar (V "pi")) [(mPing tpid0, Recv [(mPong (pvar "x"), Skip ())] ())] ()] ()) ())
             ,(tpid2, Recv [(mPing (pvar "x"), Send (pvar "x") [(mPong tpid2, Skip ())] ())] ())]
}
test1= Config {
         cTypes = [mPing (pvar "x"), mPong (pvar "x"), MTApp (MTyCon "Unit") []]
       , cSets  = []
       , cUnfold = []
  , cProcs = [(tpid0,
                Iter (V "pi") (S "ps")
                  (Block [Send (PVar (V "pi")) [(mPing tpid0, Recv [(mPong (pvar "x"), Skip ())] ())] ()] ()) ())
             ,(tpid2, Recv [(mPing (pvar "x"), Send (pvar "x") [(mPong tpid2, Skip ())] ())] ())]
}