特に意味はない
# type appendable = { append : string -> appendable };;
type appendable = { append : string -> appendable; }
# let (<<) = fun x y -> x.append y;;
val ( << ) : appendable -> string -> appendable = <fun>
# let rec cout = { append = fun x -> print_string x; cout };;
val cout : appendable = {append = <fun>}
# let endl = "\n";;
val endl : string = "\n"
# cout << "hello " << "world" << endl;;
hello world
- : appendable = {append = <fun>}