https://www.padheye.com/2015/06/can-solution-be-heterogeneous.html