Import Type `name` and its dependencies from Registry `src`
    to Registry `dest`.

    :param Registry dest: Destination Registry
    :param Registry src: Source Registry
    :param str name: Name of type to import
    :param str api: Prefer to import Types with api Name `api`, or None to
                    import Types with no api name.
    :param filter_symbol: Optional filter callable
    :type filter_symbol: Callable with signature
                         ``(symbol_type:str, symbol_name:str) -> bool``

def import_type(dest, src, name, api=None, filter_symbol=None):
    """Import Type `name` and its dependencies from Registry `src`
    to Registry `dest`.

    :param Registry dest: Destination Registry
    :param Registry src: Source Registry
    :param str name: Name of type to import
    :param str api: Prefer to import Types with api Name `api`, or None to
                    import Types with no api name.
    :param filter_symbol: Optional filter callable
    :type filter_symbol: Callable with signature
                         ``(symbol_type:str, symbol_name:str) -> bool``
    """
    if not filter_symbol:
        filter_symbol = _default_filter_symbol
    type = src.get_type(name, api)
    for x in type.required_types:
        if not filter_symbol('type', x):
            continue
        import_type(dest, src, x, api, filter_symbol)
    dest.types[(type.name, type.api)] = type