can we use `#pragma once` instead of ugly header guards?