Specter is a fantastic solution to a problem you should aim to avoid.
In essence yes, the maps I see being bandied about in clj tend to have tree structures.
Haven't seen much/any use of graphs in clj code. Deep nesting has become almost idiomatic at this point from my POV.
Could you provide example/pointer to clj code using a graph in lieu or in addition to a map?
I take them apart to something flatter as early as possible, but the complexity is nevertheless unavoidable.
(changing the upstream representation would involve changing an entire industry as well as a standard)