A small datalog fixpoint engine in OCaml, designed for incremental problems with lots of rules