generic
type Element is private;
type Index is (<>);
type Element_Array is array (IndexTo API docTo spec range <>) of ElementTo API docTo spec;
with function Combine (Left, Right : ElementTo API docTo spec) return ElementTo API docTo spec is <>;
function Reduce_RecursiveTo API docTo body (A : Element_ArrayTo API docTo spec) return ElementTo API docTo spec;