-- | Execute DNA program
runDNA :: ACP -> Rank -> GroupSize -> DNA a -> Process a
runDNA mon r grp (DNA dna)
    = flip runReaderT (mon,r,grp) dna
runDNA :: ACP -> Rank -> GroupSize -> DNA a -> Process a
runDNA mon r grp (DNA dna)
    = flip runReaderT (mon,r,grp) dna
runDNA mon r grp (DNA dna)
    = flip runReaderT (mon,r,grp) dna