qmap : ('a -> 'a) -> 'a list -> 'a list
# let million = 1--1000000;; val million : int list = [1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15; 16; 17; 18; 19; 20; 21; ...]
# time (map I) million == million;; CPU time (user): 2.95 val it : bool = false
# time (qmap I) million == million;; CPU time (user): 0.13 val it : bool = true