ActiveModel now has normalization, in a future Rails release. (8.1?) What do we need to do to make it work with our model classes? Major or minor refactoring? Needs to be investigated. https://github.com/rails/rails/pull/53887 See also #222 , if we get ALL those things, significant refactoring or consideration is indicated.