- `Value.validateSandboxed` checks an interchange value for sandboxing
before it is decoded. It either returns a list of dependencies the
runtime doesn't know about yet, or a list of disallowed builtins, both
as lists of termlinks
- `sandboxLinks` returns the list of sandboxed builtins transitively
referenced by the code associated to a given termlink
Adding a Pattern.captureAs which will act just like capture, but
additionally takes an `a` which will be used as a replacement for the
capture.
My motivation for adding it is that I want to match on escape
sequence, but actually capture the unescaped character instead.
For example:
```
Pattern.captureAs "\n" (Pattern.literal "\\n")
```
- Just zipping the lists will report that any two lists with the same
prefix are equal. So, instead, compare the lengths if the zip check
reports equality.
- Added a few tests for list equality to builtins.md
The sandboxed dependencies for combinators were being computed just from
the previously known combinators. So, if multiple new, interrelated
combinators were introduced simultaneously, their full transitive
dependencies wouldn't take into account anything in the new set.
To fix this, just iterate the dependency inference until a fixed point
is reached.