Switch to '#pragma once', add documentation