Are you happy with the exception that `head` might throw? Maybe `headOption` might be better if you are not.