The HBC bytecode format has different constant tags for the folloing:
1) CAF, tag 'A'
2) 0-arity function, tag '0'
http://haskell.org/haskellwiki/Yhc/RTS/hbc
Why the distinction? Maybe I don't fully understand, but I thought that a
0-arity function _was_ a CAF?
The runtime seems to treat them very much the same (although I can't be quite
sure -- reading C gives me a headache ;)
Rob Dockins