The NDPP data type should be working now; unfortunately circular dependencies (due to search, output, and error, requiring global), I could not write them as a true class. Instead ndpp_header is the class which does contain a clear, ndpp_init contains the operations to initialize a set of these objects, and ndpp_ops are the member operations for each Ndpp object.