Explore reflection in programming, its implications on type safety, and its performance impact in statically typed languages.