You are close. The problem is that the ? takes the value out of the Option Foo::a and destroyes the Foo in the process because Bar is not copy.
There are two helpful methods Option::as_ref and Option::as_mut you can use here.
If you do you will see that the mutability is off. You are changing example but did not declare it mutable.
Putting it all together you get: Playground