Here is my proposal with a lot of similarities: https://www.open-std.org/JTC1/SC22/WG14/www/docs/n3212.pdf