code: function rule(type = 'multi', terms = [], roles = []) {
    generation += 1;
    // FIXME ?? deepClone ??
    return {
      type: 'rule',
      generation,
      rule: {
        type,
        terms,
        roles,
      },
    };
  }
docs: ----------------------------------------------------------------------------