Semantic checks for Choose.
Removed some static_cast casts.