allow more flexibility in output coercion