Bx=S(Kx)

S(Kx)yz = Kxz(yz) = x(yz)なので、
BxとしているところはS(Kx)とできる。

よって、Dの場合なら、
D = BB = S(KB)

また、addの場合なら、
add = BSD = BS(BB) = S(KS)(S(KB))

iで書き直すと
add = i(i(i(i(i))))(i(i(i(i)))(i(i(i(i(i))))))(i(i(i(i(i))))(i(i(i(i)))(i(i(i(i(i))))(i(i(i(i)))(i(i(i(i(i))))))(i(i(i(i)))))));

従来版
add = i(i(i(i(i))))(i(i(i(i)))(i(i(i(i(i))))))(i(i(i(i))))(i(i(i(i(i)))))(i(i(i(i(i))))(i(i(i(i)))(i(i(i(i(i))))))(i(i(i(i))))(i(i(i(i(i))))(i(i(i(i)))(i(i(i(i(i))))))(i(i(i(i))))));

1文字の二項演算子で空いているもの

% cat >t.hs
main = putStr $ unlines [":t ("++[c]++")"|c<-['!'..'~']]
% runghc t.hs | head 1
:t (!)
% runghc t.hs | ghci 2>&1 | grep 'scope: `[^A-Za-z]'
<interactive>:1:0: Not in scope: `!'
<interactive>:1:0: Not in scope: `#'
<interactive>:1:0: Not in scope: `%'
<interactive>:1:0: Not in scope: `&'
<interactive>:1:0: Not in scope: `?'

というわけで、(!),(#),(%),(&),(?)の5つ。

ただし、Preludeではないが
(!)がData.Array,Data.Map,Text.Htmlに、
(%)がData.Ratioに、
(&)がData.Graph.Inductive.Graphに定義されているようだ。

(#)と(?)はどこにも使われてなさそう。