execStmt:: (Monad m) => FilterT a b m () -> m Statement 
execStmt f = do
  (_, x) <- evalStmt 0 f
  return x
execStmt:: (Monad m) => FilterT a b m () -> m Statement
execStmt f = do
  (_, x) <- evalStmt 0 f
  return x
execStmt f = do
  (_, x) <- evalStmt 0 f
  return x