from typing import Iterator, List, Set, TypeVar
from collections import Mapping

_T = TypeVar('_T')
_KT = TypeVar('_KT')
_VT = TypeVar('_VT')

class LazyDict(Mapping[_KT, _VT]):
    def __getitem__(self, key: _KT) -> _VT: ...
    def __iter__(self) -> Iterator[_KT]: ...
    def __len__(self) -> int: ...

class LazyList(List[_T]): ...
class LazySet(Set[_T]): ...
