semantic: Don't allow use before declaration.