я вот в книге по F# 4 наткнулся на такое решение
type Tree =
| Node of string * Tree * Tree
| Tip of strin
let rec sizeCont tree cont =
match tree with
| Tip _ -> cont 1
| Node(_, treeLeft, treeRight) ->
sizeCont treeLeft (fun leftSize ->
sizeCont treeRight (fun rightSize ->
cont (leftSize + rightSize))
let size tree = sizeCont tree (fun x -> x)
и что то не могу понять, как это работает. не пояснишь?