@sticilface In general, its bad to quietly do anything that is a data loss. It ends up costing developers time to diagnose an issue that is not obvious. You can convert from RgbColor to RgbwColor seamlessly as there is no data loss. But RgbwColor to others you can't. So if you are actively calculating colors using RgbwColor, exactly how would you convert? Ignore W? Blend W into the other color channels? Both are valid, but both can't be automatic. Its a choice of what the end developer needs to accomplish; so I can't make it automatic.
BUT, there might be way for you define a static conversion operator in your code that would do it.I know C# has this, not sure about C++ so it require some investigation.