could you use `let (ref a, ref b) = *self` here? or does that hit something like an ICE?