Multiplying Functions and Operators with Symbolics.jl

I am still new to Julia and the Symbolics.jl package.
I am trying to implement a poisson bracket operator :f: = \frac{\partial f}{\partial q} \frac{\partial }{\partial p} - \frac{\partial f}{\partial p} \frac{\partial }{\partial q}.
However, trying to implement this with the below code results in an error “MethodError: no method matching -(::ComposedFunction{Num, Differential}, ::ComposedFunction{Num, Differential})”. From this, I understand that when asked to multiply the Number expression of \frac{\partial f}{\partial q} with a Differential, Symbolics composes them.
Here is the code:

function poisson(f, vars)

    pb = 0
    indices = [i for i in 1:2:length(vars)]
    for i in indices
        dq = Differential(vars[i])
        dp = Differential(vars[i+1])
        dqf = expand_derivatives(dq(f))
        dpf = expand_derivatives(dp(f))

        pb += dqf * dp - dpf * dq
    return pb


Does there exist a way to do a multiplication instead?
I also tried redefining the * operation as Base.:*(D1::Num, D2::Differential) = (function prod(g); return D1*g; end) ∘ D2, but this results in the same error that you cannot subtract composed functions.

Thank you for your help.