One of the main problems as-is is that if you drop the structure (if it didn't materialize through an `&` pointer), it would attempt to free `name`, leading to lots of pain