I have been hitting my head at #330 for quite some time now, and I just realized that it's due to the type TaylorN claiming to be a <: Number, but deviates from the interface for getindex for numbers:
julia> x, = set_variables("x")
1-element Vector{TaylorN{Float64}}:
1.0 x + 𝒪(‖x‖²¹)
julia> x
1.0 x + 𝒪(‖x‖²¹)
julia> x isa Number
true
julia> x === x[]
true
julia> x === x[1]
false
For any scalar x::Number, the operations x[] and x[1] are expected to be identical, but for TaylorN they aren't.