First attempt to implement projection types