use empty? instead of nil? or '().  split head/tail by destructuring