Both diffs you submitted work. However, there are some changes that I don't quite agree on.
Assigning the value of a function directly to w_doto without checking the return value don't seem right to me. The idea of removing the error to behave like the rest of mg would lead to a brittle design. It's like assuming errors can only happen once. It makes code faster, but later changes could cause subtle bugs that could be hard to track IMHO.
