Similar to my comment above, we always copy user-supplied parameters rather than assigning them directly.  This is another good use case for why `attributes` should be a well-defined type.