[extension] metaprogramming, it can cut you