Why reduce does not give solution for ArcTan[Tan[x]] == x?

Basic question I can't see why now.

This works

Simplify[ArcTan[Tan[x]] == x, Assumptions -> -Pi/2 < x < Pi/2]
(*True*)


But

 Reduce[ArcTan[Tan[x]] == x, x]
(*Reduce::nsmet: This system cannot be solved with the methods available to Reduce.*)


Adding Reals domain does not help. I was expecting that Reduce return -Pi/2 < x < Pi/2. Why it did not?

V 12.3.1

• It could be (quote the Possible Issues in doc) "Reduce does not solve equations that depend on branch cuts of Wolfram Language functions". Nov 13, 2021 at 8:39
• The seemingly trivial change Reduce[ArcTan[Tan[x]] == y && y == x, {x, y}, Reals] give a warning that supports @Silvia's comment. (The change occurred to me because univariate equations sometimes invoke special methods, and adding a dummy variable might trick it into trying something else that would generate conditions.) Nov 13, 2021 at 15:25
• For instance, compare Reduce[ArcTan[Tan[x]] == y && y == x && FunctionRange[ArcTan[Tan[x]], x, y], {x}, {y}, Reals] and Reduce[ArcTan[Tan[x]] == x && FunctionRange[ArcTan[Tan[x]], x, x], {x}, Reals] Nov 13, 2021 at 15:31

Help function says: Because ArcTan is a multivalued function, tan^-1(tan(x))!=x

red = Reduce[{Tan[x] == y, ArcTan[y] == x}, y, Reals]