9. functional programming is a programming paradigm that treats
computation as the evaluation of mathematical functions and avoids
changing-state and mutable data.
FP
17. pure function is a function that has the following properties:
Its return value depends only on its parameters and not on any internal or external state
(such as local static variables, non-local variables or inputs from I/O devices).
Its evaluation has no side effect (such as mutation of local static variables or non-local
variables, or performing I/O operations).
Pure function