The first step to elaborated copatterns is obtaining the power to create auxiliarty functions with the elaborator. Discuss!