finish chap11 in IOCAML