reflection: better property type validation messages