first of empty should throw, nil implement ISeq