While we're at it, let's switch to haskell (delete the unnecessary people argument):
greetABunchOfPeople = mapM_ (putStrLn . sayHello)
Explanation:
mapM_ is a function that takes two arguments.
mapM_ lambda list
It calls lambda on each element on list.
In the greetABunchOfPeople definition, notice we only gave mapM_ 1 argument instead of 2. That means greetABunchOfPeople would have to take an extra argument for the call to execute.
greetABunchOfPeople $MISSING$ = mapM_ (putStrLn . sayHello) $MISSING$