аналогично и с большинством других паттернов. они реализуют какую-нибудь простую с т.з. передачи функов в функи логику, но в примерах на Java в статье они ещё и дают дополнительную проверку типов при компиляции, которой в примерах на Кложе уже нет. Можно, конечно, спорить про пользу этих проверок, но стоит указать, что мы их теряем (может там это и указано где-то, но я не увидел)