pub type DomainPluginFn = fn(&[Node], &mut Env) -> Result<(), String>;
A domain plugin receives the body of (domain <name> ...) and mutates the evaluator environment with any decisions it can certify.
(domain <name> ...)