def terms
      unless frozen?
        unless @terms
          decomposer = Expression.decompose(@expression)
          @mode  = decomposer.mode
          @terms = decomposer.terms
        end
        freeze
      end
      @terms
    end
def terms
      unless frozen?
        unless @terms
          decomposer = Expression.decompose(@expression)
          @mode  = decomposer.mode
          @terms = decomposer.terms
        end
        freeze
      end
      @terms
    end
Create a new unit. You can send an expression or a collection of terms
 @param input [String, Unit, [Term]] A string expression, a unit, or a
 collection of tems.
 @api public
 The collection of terms used by this unit.
 @return [Array]
 @api public