Is C# Statically, Strongly, Dynamically or Weakly Typed?