If Marriage Was Strongly Typed . . .
If marriage was strongly typed, then asking my wife what time she's going to be home would return a timestamp. Similarly, asking if she'll be home for dinner would return a boolean. However, since marriage is a loosely typed language, both questions usually return an array. In the array is a list of the things she has to do before she can come home.
To properly parse this response, you actually need to estimate the duration of each item on the list, total the estimates, tack on about 20% for overrun and factor in the commute. Only when you've run the response through this wrapper method can you actually get the timestamp you were looking for. And, if you were looking for a boolean, you need to then compare your timestamp against the timestamp for dinner and see which is greater.
So, in essence, having a good marriage is like working in a loosely typed language and you've just got to have really good exception handling. Once you've built up a good library of wrapper methods for how your spouse communicates, things can just cruise right along and work smoothly.
Or I guess you can throw an exception to be handled by the divorce() method. But that seems like a pretty bad approach.
