As soon as you think about the static type of a reference, declare it; when thinking "just an object", use dynamic typing.