There is exactly the same performance overhead to perform this check whatever the semantics of this expression is. Somewhere, somehow you will have if(size == 1) expression evaluated. Implicit application, as I suggested, will allow the implementation to optimize it a bit though - to avoid an extra value copy probably.. Daniel.