extend("array")
extend("math")
extend("string")

nth = array:nth
tail = array:tail
reduce = array:reduce
append = array:append
range = array:range
join = array:join
arb = math:arb
fibonacci = compose(
  tail,
  reduce(
    (acc, i) => append(
      i > 1 ? arb
        (
          join(
            "+",
            [
              nth(i, acc),
              nth(i - 1, acc)
            ]
          )
        ) : string:to_string(i),
      acc
    ),
    ["0"]
  ),
  range(0)
)

// sadasdasd asd 345345 2123123123 dsfsdfsdfsdf

# asd asd666asdasd 6666 

slog(
  fibonacci(8)
)
slog(
  nth(7, fibonacci(8))
)


