Add aliases for iterator categories
Use static instead of anonymous namespaces for functions
Add formating w/ variable arguments to assert