Library API Design error returns: nil vs error tuple vs exception

True. I can see that it wouldn’t fail until it does.

I think a NonEmptyList type would be useful: then it’s both explicitly documented and fails every time if called incorrectly.