Open
Description
The docs say that Composite
users should disregard the T
parameter as it is an implementation detail.
However both ChainRules
and Zygote
do not always follow this recommendation.
There is a difference between the two constructors and it is not clear when to apply which one. Perhaps a comment could be added to the docs?
julia> xt = (1, 2)
(1, 2)
julia> ct1 = Composite{Any, typeof(xt)}(xt)
Composite{Any}(1, 2)
julia> ct2 = Composite{Any}(xt)
Composite{Any}((1, 2),)