add Option methods for in-place mutation