find_smaller using yield