Основы и преимущества функционального программирования (чистые функции, неизменяемость, концепция монад)