Your definition of Fred is someone who's not communicate the problems and tries to fix them during the time he needs to do planned work.
I was a real Fred and did exactly that. My work was really valued but I always had the impression that no one really saw my intentions and the importance of this extra work. In the end I burned because of this.
Today I'm still a Fred but I learned that transparency is the key to successful communication. If something is odd and needs refactoring that doesn't fit in my current ticket I raise a new ticket with exactly the problem I found (instead leaving a dead Todo in the code). Then I discuss this finding in the next planning and we budget to do it if it's required to be done.
Most of the time it helps tremendously to share thongs with my colleagues and welcome up with an even better solutions than I came up in the first place.
That's a Fred you want to have in your team.