fn cascade(N:float,fb:float)->((float)->float){ if(N>0.0) { |x:float| ->float { (cascade(N-1.0,fb)(x)) *(1.0-fb) + self*fb } }else{ |x:float| ->float {x} } } cascade(1.0,0.9)(1.2)