This is not a finished implementation, it is mostly "to encourage
discussion", not intended to be reviewed in detail, more as a "this
is how this could be done".
Known issues:
- Only supports sum, although where it is implemented will also be
called for the PRODUCT intrinsic.
- It doesn't support all types.
- Only supports one dimensional arrays. There's nothing
stopping this from being multi-dimensional, just more code
needed.
- Need specific tests for "does it inline" or "should not inline".
- Need a way to disable this feature.
I'm sure there are OTHER issues too.