It's a nice take on unidirectional data flow as it applies to the Swift type system.
It brings a lot of clarity to the design. If I want to know the state involved in a view it's all explicitly stated in one place. If I want to know where state is manipulated, that's in the reducer.