type hints, host lock and soft protocols