Structs

This is used to avoid TempDir being dropped on error paths unintentionally.