pipeline b (Pipeline (s:ss)) = do s' <- runStatement IgnoreE s
                                  ss' <- pipeline b $ Pipeline ss
                                  return $ pipeShells s' ss'
pipeline b (Pipeline (s:ss)) = do s' <- runStatement IgnoreE s
                                  ss' <- pipeline b $ Pipeline ss
                                  return $ pipeShells s' ss'
pipeline b (Pipeline (s:ss)) = do s' <- runStatement IgnoreE s
                                  ss' <- pipeline b $ Pipeline ss
                                  return $ pipeShells s' ss'