let big f = function 
  | []   -> failwith "big"
  | [x]  -> x
  | x::r -> List.fold_left f x r