def expression(mode=nil)
      if @expression && (mode.nil? || mode == self.mode)
        @expression
      else
        Expression.compose(terms, mode || self.mode)
      end
    end
def expression(mode=nil)
      if @expression && (mode.nil? || mode == self.mode)
        @expression
      else
        Expression.compose(terms, mode || self.mode)
      end
    end
Build a string representation of this unit by it's terms.
 @param mode [Symbol] The mode to use to stringify the atoms
 (:primary_code, :names, :secondary_code).
 @return [String]
 @api public