Substitute NEW for elements matching PREDICATE in TREE (non-destructively). Return a copy of TREE with all matching elements replaced by NEW. Keywords supported: :key (fn NEW PREDICATE TREE [KEYWORD VALUE]...)