Please declare all variables exactly before they are needed. It's usually a bad idea to declare all variables at once and then write the whole logic. A reader might think that the following behavior somehow depends on values of all these variables, while in reality your code should look more like: if doesn't have declared param types, return true; **else** if doesn't have declared return type, return true; **else** and so on. That's a lot easier to grasp, since you don't have to carry a lot of context while reading the code