I think RoutingState.NavigateBack should be
ReactiveCommand<Unit, IRoutableViewModel>
instead
ReactiveCommand<Unit, Unit>
This is more in line with the rest of the commands in this class and is more useful when you need to know the past screen (since it is removed from the stack during this command).
There is also an alternative here to return the current vm.