Generally speaking we want to reduce the number of callbacks but stack causes one additional copy of every tensor and it is used very frequently.
One option is to use optional callbacks, but concatenate/stack are the only operations that require a variable number of arguments, which is hard to include as part of the optional/evaluator system, so it its own callback.
Generally speaking we want to reduce the number of callbacks but stack causes one additional copy of every tensor and it is used very frequently.
One option is to use optional callbacks, but concatenate/stack are the only operations that require a variable number of arguments, which is hard to include as part of the optional/evaluator system, so it its own callback.
Closes #1441.