Input is immutable, rules must not modify it.
Output is immutable, do not modify existing items, only append using appendOutput.
Input is immutable, rules must not modify it.