Probably we should also require  
    not v.is_empty