This patch adds various combinators that help in constructing EditGenerators:
- noEdits
- ifBound, specialized to ASTEdit
- flatten and flattenVector which allow for easy construction from a set of sub edits.
- shrinkTo, which generates edits to shrink a given range to another that it encloses.
I don't know about LLVM style preferences here, but a default argument to the example above seems reasonable too.