I’d recommend you have a look at this solution if you want to experiment with what Rust type turns into which Candid description.
In your specific case, I think it would work if your Rust function is fn my_func() -> Option<String> and you have type Error = text; in your Candid file