Added a more general case combinator and used it to implement seq