{
fib: {
fib0: {a: 0, b: 1},
dec: (n) => -1 + n,
next: (state) => {a: state.b, b: state.a + state.b},
helper: (n, state) => if(n, helper(dec(n), next(state)), state.a),
fib: (n) => helper(n, fib0),
}.fib,
triangle: {
dec: (n) => -1 + n,
helper: (n, state) => if(n, helper(dec(n), n + state), state),
fn: (n) => helper(n, 0),
}.fn,
triangle2: {
dec: (n) => -1 + n,
next: (n, state) => n + state,
helper: (n, state) => if(n, helper(dec(n), next(n, state)), state),
fn: (n) => helper(n, 0),
}.fn,
t10: triangle(10),
t200: triangle(200),
f0to5: [fib(0), fib(1), fib(2), fib(3), fib(4), fib(5)],
f0: [fib(0)],
fs: [fib(0), fib(1), fib(2), fib(3), fib(4), fib(5), fib(100)],
f_big: fib(4000),
}