Known Caveats
stepping is very much alpha software, here are a few gotchas:
- In general, it’s not battle hardened, I’m still finding many bugs during development.
 - There are some fragile bits of code, particularly 
compile(...), which does some crazy AST based stuff. - The big O performance seems reasonable from my benchmarking, but the fixed overhead per iteration is quite long in some cases, again, see performance.
 - Ordering of JSON 
nulls not tested. There are likely bugs in this area (where we map to/from JSON in the db). - There’s nothing to help migrate queries between versions. This is a two fold problem (which steppingmanager eventually aims to solve):
- Vertices’ paths are fragile as they are a hash of the modules/function names of each sub-query.
 - Updating the schema of data has no clear migration path for all the data stored in the delay nodes.
 
 - Updating an oft-referenced value causes lots of work to happen all at once (again I’m not sure how/if e.g. materialize gets round this). For example, if a million users all join with some value and you change that value, a 
ZSetPythonwith a million values will be outputted from the join. Avoiding this requires some amount of foresight when writing queries – far reaching pieces of data are better joined at final query time.