merge method

Create a new context by merging with another

Implementation

EvaluationContext merge(EvaluationContext other) {
  return EvaluationContext(
    attributes: {
      ...parent?.attributes ?? {},
      ...attributes,
      ...other.attributes,
    },
    rules: [...rules, ...other.rules],
    cacheDuration: cacheDuration,
  );
}