boolean型の扱い(厳密度)は言語によって異なりますよね。 暗黙の了解で自動で型変換をしてくれる場合もありますし、特別な型があるわけではなく整数型の0と1などで分けている場合もありますし。 新しい言語ほど厳密にすることでのヒューマンエラー(勘違いや見落とし)を無くそうとしているような傾向がある感じがしますね。