from typing import Sequence
from typing import Any
from typing import List


def insert_items_at_idx(parent_items: Sequence[Any], idx: int, items: Sequence[Any]) -> List[Any]:
    """
    Inserts `items` at `idx` in `parent_items`.

    Args:
        parent_items (sequence of any): The parent sequence to insert within
        idx (int): The index to insert at
        items (sequence of any): The items to insert

    Returns:
        A new list containing both the parent and inserted items
    """

    def _insert_items_at_idx(parent_items, idx, items):
        for pidx, item in enumerate(parent_items):
            if pidx != idx:
                print(item)
                yield item
            else:
                for item in items:
                    yield item

    return list(_insert_items_at_idx(parent_items, idx, items))