Would it make sense to allow users to free the pointer themselves too? If so, it could make sense to have a `.free` method that takes care of this.