input: from typing import Dict, Union
  
  def generate_response(question: Union[str, None], answers: Dict[str, str]) -> str:
      """Given a question and a dictionary of answers, this function returns the 
      appropriate answer if the question is found in the dictionary, otherwise it 
      returns a random response.
      >>> generate_response('What is XYZ?', {'What is XYZ?': 'XYZ is a company that provides XYZ services.'})
      'XYZ is a company that provides XYZ services.'
      >>> generate_response('Does XYZ offer promotions?', {'What is XYZ?': 'XYZ is a company that provides XYZ services.'})
      'Can you give me more information?'
      """
output:     if question is None:
          return "I'm sorry, I didn't catch that."
      if question in answers:
          return answers[question]
      else:
          return "Can you give me more information?"