Replace `ForwardDiff`/`ReverseDiff`/`Zygote`/`Mooncake`/`Enzyme` gradient call with `DifferentiationInterface`.
See, e.g., https://github.com/TuringLang/NormalizingFlows.jl/pull/46
@AoifeHughes, while you are on autodiff-related tasks, can you add this to your to-do list, please?
okie dokie
#406 handles the worst case of this (where all the Foo.gradient calls for multiple backends Foo were in a single big function). There are still a number of isolated ForwardDiff calls across the test suite, but I think that those are less pressing because they're not there to test a series of AD backends (which is what DI is good for). Rather they're individual invocations of gradient used to check that e.g. Bijectors logabsdetjac is implemented correctly.