Hmm.. is the cost of the cast worth it? It boils down to compile-time vs run-time performance.