I think the biggest weak points of firebase are a. a weak query engine (as soon as you reach non-trivial complexity you end up having to de-normalize data) and b. a weak rule engine (relying on a bunch of boolean logic is not going to scale as your app grows. you need more abstraction power)
Looks like your library addresses both -- crux has datalog queryability, and the rule dsl you wrote seems pretty powerful.
Good work Jacob!