Started reimplementing foreach with metaprogramming