factored RSeqNode out of CycleRoll into its own module