Boolさて、これでテストが書けます。Test.Unit.Assertionsを使ってテストを書いてみましょう。Tests/BTree.idrにこう書きます。したら存在するということをテストしています。ローカル変数を導入する構文です。ネストするときはこのようにインデントを揃えると見慣れたコードに近くなります。最後にテストのエントリーポイントを書きます。ipkgで指定した名前です。このテストを走らせます。打つとテストが走ります。`./src'上手くいっているようです。テストをもう少し追加しましょう。testNotInsertMember実行します。`./src'問題ないですね。削除はまず検索と同じ要領で要素を見つけます。3を削除するとしましょう。3は簡単に見つかります。ここから3以外(要は左右の子)で新しく木を作ります。ノードを1つ追加すれば出来るのですが、ノードに保持する値が必要です。左の子の最大値を持ってきてあげると上手くいきます。これにはサブルーチン、popMaxを使います。「ノードの値が木の最大値である⇒右の子がリーフ」なので簡単に発見、削除できます。右の子を辿っていって右の子がリーフであるノードを見つけたらそのノードの値が最大値です。空の木の場合は最大値がないので注意しましょう。書いてあるのはタプル(組)の型です。簡易版構造体のようなもので、複数の値をひとまとめにできます。ように書いてあるのがタプルの値です。空のタプルのことでした。呼ぶようになっています。Leafこれもテストしておきましょう。えば最大値、最小値は簡単に求まります。木を分割してみましょう。大きい値を含んだ木」の3つ組を返します。いうインターフェースがプレリュードで定義されています。概ねループをする関数です。数当てゲームで使いましたね。