docs: def remove_alias(type_):
      """
      Returns `type_t` without typedef
  
      Args:
          type_ (type_t | declaration_t): type or declaration
  
      Returns:
          type_t: the type associated to the inputted declaration
      """
      if isinstance(type_, cpptypes.type_t):
          type_ref = type_
      elif isinstance(type_, typedef.typedef_t):
          type_ref = type_.decl_type
      else:
          # Not a valid input, just return it
          return type_
      if type_ref.cache.remove_alias:
          return type_ref.cache.remove_alias
      no_alias = __remove_alias(type_ref.clone())
      type_ref.cache.remove_alias = no_alias
      return no_alias