Не бывает плохих или хороших метапрограмм: все они имеют право на существование. В какой-то ситуации одна метапрограмма может быть успешной, в какой-то – другая.