Разделите код на группы:
- контачит с опасным миром входных данных (публичный метод, которому скармливают $_POST['x'] и т.д.)
- используется только в безопасной среде (приватные методы, классы глубоких внутренностей бизнес-логики, которые по нормальному никогда не используются из "грязной" среды)
И станет ясно, где проверка нужна строгая, а где достаточно указать типизацию параметра и в остальном доверять данным, которые 100% уже проверил другой код-санитар.
И веселее было бы использовать исключения. В этом случае b($array) из вашего примера уже никто и не вызывали бы.