First step for #20039. If desired, this MR can be extended to hold more than just the refactoring for a single type.
Happy for early feedback!