disconnect cannot tolerate certain types. Fix (hopefully correct) one of...

... the anonymous fn not always return value messages. Also, broke icons not disappearing when app closed. This should be fixed.
I would prefer using for loops anyway since they are faster.