All exposed structs are now opaque typedefs