Powrót w Scali

Jestem początkującym programistą Scala i natknąłem się na dziwne zachowanie.

def balanceMain(elem: List[Char]): Boolean =
  {
    if (elem.isEmpty)
      if (count == 0)
        true;
      else false;

    if (elem.head == '(')
      balanceMain(elem.tail, open, count + 1);....

Przede wszystkim chcę zwrócić prawdziwą, jeślielem.isEmpty icount == 0. W przeciwnym razie chcę zwrócić false.

Teraz powyżej przeczytałem, że nie ma potrzeby dodawania instrukcji zwrotu w scali. Więc pominąłemreturn powyżej. Ale nie zwraca wartości logicznej. Jeśli dodam instrukcję zwrotu jakoreturn true. działa doskonale. Dlaczego tak jest?

Ponadto, dlaczego złym zwyczajem jest zwracanie oświadczeń w scali

questionAnswers(6)

yourAnswerToTheQuestion