The first and rest operators only operate on lists created with cons, i.e., non-empty lists. So
(first empty)
first: expects type <non-empty list> as 1st arg: given empty