So, this code actually is correct, as far as the course realizes - if I comment out or remove the function call, it accepts the code and allows me to progress.

HOWEVER.

If I call the function, with ANY input, it gets stuck in an infinite loop. Anybody have any ideas why? None of the other threads I've been able to find seem to have anything useful to change apart from the 'return/puts' kind of change, which also does nothing.

```
$VERBOSE = nil # We'll explain this at the end of the lesson.
require 'prime' # This is a module. We'll cover these soon!
def first_n_primes(n)
return "n must be an integer." unless n.isa_a? Integer
return "n must be greater than 0." if n <= 0
prime_array ||= []
prime = Prime.new
for num in (1..n)
prime_array.push(prime.next)
end
return prime_array
end
fire_n_primes(2)
```