The ActiveModel type system with extensions in ActiveRecord provide
us a lot of convenience. Some general attribute code is now moved to
ActiveModel only as the AR types provide raw value capturing
(before_type_cast) and type classes to handle type specific string
value parsing if enabled.
In my view, we need to go futher and strip out more from ActiveModel
extension but at least we should have compatibility at the moment.