let rec accumul_right_1 = function 
  (op, neutral) -> (function 
                     lx -> if is_empty_list (lx)
                             then neutral
                             else op (head (lx), (accumul_right (op, neutral)) (tail (lx))))