SafeGPU: Contract- and library-based GPGPU for object-oriented languages. (June 2017)