二分木で値を検索し、true または false を返す関数を ML で作成しようとしています。関数が機能するように構文的に修正するのを手伝ってくれる人はいますか? ここに私が持っているものがあります:
datatype either = ImAString of string | ImAnInt of int;
datatype eitherTree = LEAF of either | NODE of eitherTree*either*eitherTree;
fun eitherSearch(LEAF(ImAnInt x), search_value) = (x=search_value)
| eitherSearch(LEAF(ImAString x), search_value) = false
| eitherSearch(NODE(left, ImAString node_value, right), search_value) = false
| eitherSearch(NODE(left, ImAnInt node_value, right), search_value) =
if (search_value > node_value)
then eitherSearch(right, search_value)
else eitherSearch(left, search_value);