Deep Learning Software Types