There have been 19 votes cast so far. We have twelve +1 votes. Of the -1 votes, three are because "`pure` is fine" and four are because "`(:[])` is fine." I summarized the issue with `pure` in my previous email, and there hasn't been any response or comment on the issues raised.
To summarize/quote the issues with `(:[])`:
> Another advantage to having an explicit singleton function is discoverablity.
The discoverability of `(:[])` is bad.
> Is `(:[])` a core idiom? I never see it in work code and I've never seen it in Hackage. To check, I grepped my software directory which has all my Haskell code, and got 122 matches of (:[]) over 1,768,231 loc (as given by wc -l **/*.hs).
`(:[])` is not a common idiom (in the code sample I have; your mileage may vary).
> All alternatives to construct a list "anonymously" are confusing and take time to parse.
> The `(:[])` operator takes me a decent amount longer to parse and recognize, and I have seen intermediate-level Haskellers trip up over unspaced operators like this in several contexts.
The operator section is confusing and difficult to parse in this context.
Those are the three main problems that people have with `(:[])`, as far as I can tell.