You gotta be gentle with initializer lists, they often cause Internal Compiler Errors (on MSVC)