Avoid bashisms.
Optimize trial<void> for the common case.
Addendum to 6c9dd99e.
Avoid unnecessary construction of LHS.
Fix util::variant::operator==.