Open
Description
From discussion on Slack with @chengchingwen
The idea is to define a new capabilities Reusable
which means that the pullback can be called multiple times, and NonReusable
, which means that the pullback can only be called once.
NonReusable
can be useful when wanting to save allocations, such as in JuliaDiff/ChainRulesTestUtils.jl#264