I've written about a similar topic in the past, referring to the Types 1 and 2 as "brave" and "careful" developers. The titles are less important than the impact each brings.
The "we'll just do X" developer tends to think about codebases as they do the customer. "We'll just refactor <huge system>" or "we can just include <major new subsystem>". Type 2 devs, in contrast, are far more careful in their approach to the codebase itself.
The two balance each other out in the right ratios. Left to their own devices, Type 1 will bring innovative changes to a system while Type 2 naturally improve the stability of the system. I just think you want 3-4 Type 2's for each Type 1 you have on a team.