oh look, stdlib already has a seekable. also, handle np.string_