utility::capture now moves values if needed.