1st can be used to trace any expression. but it's not for general
function tracing.
2nd version works well.
3rd version provide trace-ns, untrace-ns. but no indentation on trace
output.
So I combined indented output part of the 2nd codes to the 3rd codes.
And provided some control vars on output contents.