Something like this: ``` rust struct Subprogram { ... } impl Subprogram { pub fn new(die: DebuggingInformationEntry) -> Subprogram { assert!(die.tag() == DW_TAG_subprogram); Subprogram { ... } } pub fn name(&self) -> Option<&ffi::CStr> { ... } pub fn linkage_name(&self) -> Option<&ffi::CStr> { ... } pub fn calling_convention(&self) -> Option<DwCc> { ... } pub fn is_pure(&self) -> Option<bool> { ... } pub fn is_recursive(&self) -> Option<bool> { ... } // Etc... } ``` Would ideally be able to become owned, if the user wants to copy the data.