> the standards still don't have a proper replacement for include guard
It does with modules... and in ten year if modules support is widespread, I'll consider stoping using pragma once.