I want to add a simple recursive function as a cell value. Let’s say

```
fib = function(n) {
if (n == 0) return 0;
if (n == 1) return 1;
return fib(n - 1) + fib(n - 2);
}
```

– but Observable complains about circular definition.

I understand that Observable needs to evaluate `fib`

in a reactive way, and it cannot resolve the circular definition. I could work around that by specifiying:

```
fib = function(n) {
function _fib(n) {
if (n == 0) return 0;
if (n == 1) return 1;
return _fib(n - 1) + _fib(n - 2);
}
return _fib(n)
}
```

… but I would like to avoid that for didactic purposes (this is for a tutorial directed towards newcomers).

I briefly looked into the `mutable`

keyword, but I feel like I would need the *opposite*, like an `immutable`

keyword that breaks reactive evaluation.

Any suggestion for how to get this to work without introducing too much semantic noise that unnecessarily confuses newcomers/students?