workPushing = Config {
                cTypes = [mInt]
              , cSets  = []
              , cUnfold = [Conc (S "ps") 1]
              , cProcs = [  (tpid0, Block [ siter (V "p") (S "ps")
                                                     (schoice (V "x") (S "ps") (ssend (pvar "x") mInt (Skip ())))
                                           , siter (V "pp") (S "ps")
                                                     (srecv mInt (Skip ()))
                                           ] ())
                          , (tpid2, sloop (LV "end_X") (srecv mInt (ssend tpid0 mInt (Goto (LV "end_X") ()))))
                          ]
              }
workPushing = Config {
                cTypes = [mInt]
              , cSets  = []
              , cUnfold = [Conc (S "ps") 1]
              , cProcs = [  (tpid0, Block [ siter (V "p") (S "ps")
                                                     (schoice (V "x") (S "ps") (ssend (pvar "x") mInt (Skip ())))
                                           , siter (V "pp") (S "ps")
                                                     (srecv mInt (Skip ()))
                                           ] ())
                          , (tpid2, sloop (LV "end_X") (srecv mInt (ssend tpid0 mInt (Goto (LV "end_X") ()))))
                          ]
              }
workPushing = Config {
                cTypes = [mInt]
              , cSets  = []
              , cUnfold = [Conc (S "ps") 1]
              , cProcs = [  (tpid0, Block [ siter (V "p") (S "ps")
                                                     (schoice (V "x") (S "ps") (ssend (pvar "x") mInt (Skip ())))
                                           , siter (V "pp") (S "ps")
                                                     (srecv mInt (Skip ()))
                                           ] ())
                          , (tpid2, sloop (LV "end_X") (srecv mInt (ssend tpid0 mInt (Goto (LV "end_X") ()))))
                          ]
              }