Use new methods for building trees of rule operands.
diff --git a/TUTORIAL.md b/TUTORIAL.md
index 9bffa7e..fdab1ed 100644
--- a/TUTORIAL.md
+++ b/TUTORIAL.md
@@ -428,8 +428,8 @@
 
   private CsvPushProjectOntoTableRule() {
     super(
-        some(ProjectRel.class,
-            leaf(CsvTableScan.class)),
+        operand(ProjectRel.class,
+            operand(CsvTableScan.class, none())),
         "CsvPushProjectOntoTableRule");
   }
 
diff --git a/src/main/java/net/hydromatic/optiq/impl/csv/CsvPushProjectOntoTableRule.java b/src/main/java/net/hydromatic/optiq/impl/csv/CsvPushProjectOntoTableRule.java
index 2da3c8a..eb71c09 100644
--- a/src/main/java/net/hydromatic/optiq/impl/csv/CsvPushProjectOntoTableRule.java
+++ b/src/main/java/net/hydromatic/optiq/impl/csv/CsvPushProjectOntoTableRule.java
@@ -36,8 +36,8 @@
 
   private CsvPushProjectOntoTableRule() {
     super(
-        some(ProjectRel.class,
-            leaf(CsvTableScan.class)),
+        operand(ProjectRel.class,
+            operand(CsvTableScan.class, none())),
         "CsvPushProjectOntoTableRule");
   }