Updated the compile-time metaprogramming utilities

- Added the before meta-function.
- Added new test case.