Solution 1: The base case should describe all lists of length one, the shortest possible non-empty lists:
     ; A non-empty list of numbers (nelo-numbers) is one of
     ;   - (cons f empty)
     ;     where f is a number
     ;   - (cons f r)
     ;     where f is a number, r is a nelo-numbers
Solution 2: Use the definition of lists-of-numbers that we already know.
     ; A non-empty list of numbers (nelo-numbers) is
     ;   (cons f r)
     ;   where f is a number, r is a list-of-numbers
When you develop programs, you should use the template corresponding to the definition you choose.
     (define (f nelon)
        (cond
           [(empty? (rest nelon)) ...(first nelon)...]
           [else                  ...(first nelon)...(f (rest nelon))...]))
     
     
     (define (f nelon)
        ...(first nelon)...(rest nelon)...)
     
     where f probably calls another function on
     (rest nelon) that consumes a list of numbers, not
     just a non-empty list of numbers.