I know that the ScrumMaster should be a leader, but it's a good practice to have a technical leader as a ScrumMaster. For example: a coordinator.
The ScrumMaster is not really a "leader". If anything, you can describe them as a "servant leader". The difference is well worth noting.
On your actual question - is a technical lead a good ScrumMaster?
The skillsets are fairly different, but have intersections, so it really depends on the person in question. Can they keep their roles separate? Are they able to dedicate enough time to both? And, again, can they provide the servant leadership that a Scrum team requires?
I think the right person could fulfill both of these roles very well. Guiding the team, protecting them from outside forces, allowing them to stay productive, etc, etc.
Keep in mind though, leadership on a scrum team is usually inferred through respect and experience among team members. It's a team through and through.
Scrum puts the focus on teams. Because of this, self-management, communication and decision making as a team is very important in scrum. Also, the team as a whole is responsible for the outcome of the sprint. This is a very key difference of scrum with traditional methods where a single person could be held responsible for outcome of a team effort.
The scrum master holds the key about the scrum process, and that is the only thing where he/she has the power. When a "lead" person comes to the post of scrum master, there is a chance of conflict of interest. For example, the scrum master might overstep by enforcing certain work on a team member. By overriding own interests over the teams interest, there is a risk of scrum affecting the team chemistry. There is a chance that unknowingly the scrum master will be the responsible person for the outcome of the sprint.
That doesn't mean a lead cannot be a scrum master, but he has to be aware of the potential consequences his power will cause to the team and the effect of that preventing the basic principles of scrum.