let rec process f book st = match book with
| [] -> f st
| entity :: tl ->
- process f tl (process_0 C.start st entity)
-(* process_0 (process f tl) st entity *) (* CPS variant of the above *)
+(* we exploit tail recursion rather than CPS *)
+ process f tl (process_0 C.start st entity)
(****************************************************************************)