static Set<SolverHint> with(Set<SolverHint> set, SolverHint... plus) {
		Set<SolverHint> hints = new HashSet<>(set);
		hints.addAll(Set.of(plus));
		return Collections.unmodifiableSet(hints);
	}
A type for solver hints

<p>
Hints inform sub-solvers of the techniques already being applied by the calling solvers. This
helps prevent situations where, e.g., two multiplication solvers (applied to repeated or nested
multiplication) both attempt to synthesize new goals for repetition. This sort of expression is
common when decoding immediates in the AArch64 specification.

<p>
Using an interface implemented by an enumeration (instead of just using the enumeration directly)
eases expansion by extension without modifying the core code.

@see DefaultSolverHint
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/app/plugin/assembler/sleigh/expr/SolverHint.java