code: def merge_function_with_indicator(function, indicator, alternative):
      '''Returns a function such that a call to it is equivalent to:
  
      if indicator(x):
          return function(x)
      else:
          return alternative
  
      Note that ``function`` is not called if indicator evaluates to False.
  
  
      :param function:
  
          The function to be called when indicator returns True.
  
      :param indicator:
  
          Bool-returning function; the indicator
  
      :param alternative:
  
          The object to be returned when indicator returns False
  
      '''
      if indicator is None:
          return function
      else:
          def merged_function(x):
              if indicator(x):
                  return function(x)
              else:
                  return alternative
          return merged_functiof merge_function_with_indicator(function, indicator, alternative):
      '''Returns a function such that a call to it is equivalent to:
  
      if indicator(x):
          return function(x)
      else:
          return alternative
  
      Note that ``function`` is not called if indicator evaluates to False.
  
  
      :param function:
  
          The function to be called when indicator returns True.
  
      :param indicator:
  
          Bool-returning function; the indicator
  
      :param alternative:
  
          The object to be returned when indicator returns False
  
      '''
      if indicator is None:
          return function
      else:
          def merged_function(x):
              if indicator(x):
                  return function(x)
              else:
                  return alternative
          return merged_function
docs: Returns a function such that a call to it is equivalent to:
  
      if indicator(x):
          return function(x)
      else:
          return alternative
  
      Note that ``function`` is not called if indicator evaluates to False.
  
  
      :param function:
  
          The function to be called when indicator returns True.
  
      :param indicator:
  
          Bool-returning function; the indicator
  
      :param alternative:
  
          The object to be returned when indicator returns False