# Haskell, 157 * 0.9 = 141.3 bytes

    f#[]=[];f#(a:b)=f a:f#b
    n f x 1=f x;n f x i=f$n f x(i-1)
    f!x=f x
    r 0=[];r i=r(i-1)++[i]
    f g x[]=x;f g x(a:b)=g(f g x b)a
    f%(a,b)|a==b=[f b]|1<2=f a:f%(a+1,b)

No loops, just recursion.

`#` is map: `(*2) # [1,2,3]` -> `[2,4,6]`

`n` is nest: `n (*2) 3 4` -> `48`

`!` is apply: `(*2) ! 7` -> `14`

`r` is range: `r 4` -> `[1,2,3,4]`

`f` is fold: `f (+) 0 [1,2,3,4]` -> `10`

`%` is table: `(*2) % (2,4)` -> `[4,6,8]`