Metaprogramming In Lean