Re-define edge types, such that they can be used without qualification.
Replace macro definitions with usage of pragma once.