code: function get_chain_content(elem, names) {
  		if (elem instanceof fl.Branch) {
  			return handle_branch(elem, names);
  		}
  		else if (elem instanceof fl.ParallelChain) {
  			return handle_parallel(elem, names);
  		}
  		else if (elem instanceof fl.LoopChain) {
  			return handle_loop(elem, names);
  		}
  		else if (elem instanceof fl.Chain) {
  			return handle_chain(elem, names);
  		}
  		else {
  			// A chain type we don't handle yet...shouldn't happen hopefully
  			return [[], hash_name_get({name : 'unidentified'}), hash_name_get({name : 'unidentified'})];
  		}
  	}
docs: Breakout function that simply calls the correct handler based on the type
  of the element supplied
  @param elem A chain-type object to get a dot description for
  @param names The hash table of functions and names that we've seen
  @return Standard triple of [strings, first element, last element]