Should we replace SafeDownCast with dynamic_cast

There were lots of discussion about this at the hackathon. Way above my level of c++ knowledge.