In a functional paradigm, all data structures are immutable. So, how does the data itself mutate as it passes through the app flow? Data mutates when a new data structure is initialized with the return value of a function which took the old data as an argument.