単なる慣習でしかなくて合理的な理由はない
プログラミングではall([])がFalseだったほうが楽になるケースの方が圧倒的に多い

残念ながらempty listだけ別途チェックするのが無難