code: def are_values_same_type(first_val, second_val):
    
  
    first_val_type = type(first_val)
    second_val_type = type(second_val)
  
    # use isinstance to accomodate Python 2 unicode and str types.
    if isinstance(first_val, string_types) and isinstance(second_val, string_types):
      return True
  
    # Compare types if one of the values is bool because bool is a subclass on Integer.
    if isinstance(first_val, bool) or isinstance(second_val, bool):
      return first_val_type == second_val_type
  
    # Treat ints and floats as same type.
    if isinstance(first_val, (numbers.Integral, float)) and isinstance(second_val, (numbers.Integral, float)):
      return True
  
    return False
docs: Method to verify that both values belong to same type. Float and integer are
    considered as same type.
  
    Args:
      first_val: Value to validate.
      second_Val: Value to validate.
  
    Returns:
      Boolean: True if both values belong to same type. Otherwise False.