rewrite sequential combinator implementations