Added in some MetaProgramming tools to make metaprograms clearer