Set Theory with Types