I played a bit with this
using Symbolics
@variables x::Float64
D = Differential(x)
@show D
@show D(x)
@show expand_derivatives(D(x))
@variables z::Complex{Float64}
D = Differential(z)
@show D
@show D(z)
@show expand_derivatives(D(z))
yielding
D = Differential(x)
D(x) = Differential(x)(x)
expand_derivatives(D(x)) = 1
D = Differential(z)
D(z) = Differential(z)(z)
expand_derivatives(D(z)) = 0
Bug?