one reason is this will make this package's dependency simpler, and allow us to support different symbolic backends in the future. A more practical reason is someone was complaining the build issue of SymEngine (https://github.com/symengine/SymEngine.jl/issues/176) in chatting room
to be specific
https://github.com/QuantumBFS/YaoExtensions.jl/blob/2545ea2161d5820be0faa9871c16ce0b2e030e9a/src/timer.jl#L10
one reason is this will make this package's dependency simpler, and allow us to support different symbolic backends in the future. A more practical reason is someone was complaining the build issue of SymEngine (https://github.com/symengine/SymEngine.jl/issues/176) in chatting room