Check out line 38 of the following example: https://goo.gl/AdmME5. Does anyone know why it's failing with property 'size'. Property cannot be accessed on any member of intersection type... instead of pointing out first that the second argument passed to mapPropToClass is incorrect?