def *(other)
    return Unit.new(@number * other, @type) unless Unit === other

    if @type == other.type
      Unit.new(@number * other.to_f, @type)