Body is evaluated twice (once when spitting to clipboard and again as return value). Only needs to be once. I think this can be done by better factoring of the evaluation of the expressions and the generation of the markdown.