Stupid workaround for MSVC symbol redefinition issue
Some needed visibility stuff
Adjust initializer_list for MSVC, expects two-pointers, doesn't skip access checks