Implement generic types enough to allow list.getitem to be type checked