This frequent error happens because of the default dispatches
frule(ȧrgs, f, ::Vararg{Any}) = nothing
rrule(::Any, ::Vararg{Any}) = nothing
so when no rrule is defined, nothing is returned.
Unfortunately, it is hard to catch because the computations with nothing can go on for a while before erroring.
I wonder if removing these default dispatches would break something badly?