don't return null pointer as dependency:
clean up show with particle
print type name in error message
put back support for printing type names as the macros are not going away
remove some spurious prints
use simpler macro when appropriate