With the introduction of Arrangement GATs, users of traces supporting non-standard gats (those other than &K) were unable to use the methods of Join and Reduce, on account of them requiring concrete K types to reference. The implementations of these same trait methods on arrangements are better done as inherent methods, which can reference the associated types of the traces in the arrangements. This removes the requirement to call out to free functions like join_traces and reduce_trace.
With the introduction of Arrangement GATs, users of traces supporting non-standard gats (those other than
&K
) were unable to use the methods ofJoin
andReduce
, on account of them requiring concreteK
types to reference. The implementations of these same trait methods on arrangements are better done as inherent methods, which can reference the associated types of the traces in the arrangements. This removes the requirement to call out to free functions likejoin_traces
andreduce_trace
.