немного метрапрограмминга