used a nat struct to prevent default_delete overload resolution
participation.