It looks like the only long_type used is hdf5_interger8_t. Is there a motivation for having this be more general?