It is possible to assert statically that lists are non-empty using proper type design.
Maybe, you are also interested in advocacy of this style.
Category: Idioms