remove invalid optimization, back at 266ms :-/ remove LookupWithFallback as it's confusing me
let edges return their bindings as string. eval all 266ms -> 145ms (still 92ms parse only)

The most expensive thing in an edge is a command, and having to hash and
then copy it for the hashtable is wasteful if there's no need to have
the command in atom form.