Haley's 4 and we've already talked about it.

I just casually mention all sorts of things to her because she is so curious. I guess I'll have another discussion with her when it actually happens, so I have a while.
I don't think it's ever too soon to talk. Especially since you never know when she might get it. It's better that she be prepared early and not freaked out when it does happen.