The reason is because the returned IDs for all data structures are just numbers, and they all start at index 0. So say you had a bunch of fruits, apples, oranges, and bananas. Each type of fruit is given a number to ID it, but only a number. Say then, I come up to you and hand you a ticket with the number '0' written on it, cause I was asked to come pick up the item on the ticket. If I don't know what I'm picking up, how would you know which fruit to give me, based on just the number? Sure, you could look at the fruits, but if you had all three types of fruits before you, you'd have three different fruits all with the number '0' attached to them.
Unfortunately, until Studio starts utilizing pointers for dynamic resources, there's not going to be a way to determine these kinds of things, unless you program it yourself to keep track. In keeping with the fruit analogy, if the tickets were color coded, red for apple, orange for orange, and yellow for banana, then there'd be no problem.