Вынес обсуждение побочных эффектов в отдельную тему: Макросы ОЛ: с побочными эффектами и/или детерминированные?
PS. Не думал, что человек может называть термины "чистая функция", "функциональное программирование" и при этом считать blink чистой функцией.