The profiler showed that our methods for select and collection have a high number of write operations. I looked at the function list to understand what functions are using the write operator. Also considering what benefit we could can if they function was composable.
* Most functions change the value. * Composable functions would with node or date data types * for example: child step function or year-from-date * When the value does not change, many functions just return the input value. Thus, no write operation. Also looked more at the profiler and found that the write time is significant, but not 100% of the time for collection and select. collection - 30% is write time. select - 20% is write time. A function like treat does not change the value. Only has a check for the sequence type. When removing this function, the time to the plan does not change. Looks like where possible we do minimize the write operation in each function. FYI
