explicitly require HashWithIndifferentAccess