> Part of the appeal of this change is the decoupling from Hash itself. In fact, the current code is even worse because it's coupled to whatever the user provides. It's often a Hash but it sometimes a HashWithIndifferentAccess or even ActionController::Parameters. All of these have different behaviors and slightly different APIs.

I respect this. It doesn't seem like the objects totally have to be pass-through (I wasn't aware of that myself). A bummer, but understandable. It kinda feels like the consumer/caller of the interactor is using it wrong in that instance though.