```ucm:hide scratch/main> builtins.merge ``` ```unison loop : List Nat -> Nat -> List Nat loop l = cases 0 -> l n -> loop (n +: l) (drop n 1) range : Nat -> List Nat range = loop [] ``` ```ucm scratch/main> add ``` ```unison > range 2000 ``` Should be cached: ```unison > range 2000 ```