func fib_mem (n) is cached { n < 2 ? n : (__FUNC__(n-1) + __FUNC__(n-2)) }