examples for metaprogramming made a bit more clear and up-to-date.