Я тут согласен с
@odomontois. Требование чистоты — это необходимое условие для того чтобы была возможна денотация, то есть запись соотвествующим коду структур на бумаге (и соотвественно нотация, когда мы определяем какой-нибудь моноид и записываем его инстансы).
Но ФП сводить только к языкам с обязательной чистотой, по сути к хаскелю, это нелепо. Там в основном хаскель-чяте кто-то даже в порыве пуризма доказывал, что лисп не функциональный, что очевидная нелепость. Так что термин и правда размытый.
А про рассмотрение языка как категорию — это про категрию Hask —
https://habr.com/post/133277/И объекты там это типы, всё правильно.