var/list/assoc_list = list("A" = 1, "B" = 2, "C" = 3)
var/list/keys = assoc_list.keys //list("A", "B", "C")
var/list/values = assoc_list.values //list(1, 2, 3)
This can be softcoded, but it's not exactly optimal.
These vars would produce lists that contain these values, rather than the actual containers themselves (the red-black tree for example)
I imagine these lists would be empty if the accessed list wasn't associative.
I came across the idea when I considered how much easier certain things would be if you could "split" an associative list like this (like looping through assoc lists just for their values)