code: def typed_range(type_func, minimum, maximum):
      
      @functools.wraps(type_func)
      def inner(string):
          result = type_func(string)
          if not result >= minimum and result <= maximum:
              raise argparse.ArgumentTypeError(
                      "Please provide a value between {0} and {1}".format(
                          minimum, maximum))
          return result
      return inner
docs: Require variables to be of the specified type, between minimum and maximum