Bug fix to `c.or()` in the presence of wrapping contracts, and to `c.optional` contracts in the present of wrapping.
Improvement to the error message of `c.or()`