Calling a more generic method with Parametric Types

This is actually really weird to me, since it still lists move_agent!(::T, ::Agents.ValidPos, ::ABM{S, T}) where {S <: ContinuousSpace, T <: AbstractTurtle} as an option, even though it should treat the first argument as an AbstractAgent, and it lists move_agent!(::A, ::Agents.ValidPos, ::ABM{<:AbstractSpace, A}) where A <: AbstractAgent as an option even though there is a more specific alternative for that.