refactor types check with reflection
refactor types check with reflection

gedhi/jsondoc,alessioarsuffi/jsondoc,Grimmjowjack/jsondoc,Issle/jsondoc,Grimmjowjack/jsondoc,Issle/jsondoc,Grimmjowjack/jsondoc,OrangGeeGee/jsondoc,fabiomaffioletti/jsondoc,philandrews-ixxus/jsondoc,fabiomaffioletti/jsondoc,philandrews-ixxus/jsondoc,gedhi/jsondoc,philandrews-ixxus/jsondoc,sarhanm/jsondoc,fabiomaffioletti/jsondoc,fabiomaffioletti/jsondoc,Issle/jsondoc,alessioarsuffi/jsondoc,Grimmjowjack/jsondoc,OrangGeeGee/jsondoc,gedhi/jsondoc,alessioarsuffi/jsondoc,sarhanm/jsondoc,OrangGeeGee/jsondoc,Issle/jsondoc,OrangGeeGee/jsondoc,gedhi/jsondoc,philandrews-ixxus/jsondoc,sarhanm/jsondoc,alessioarsuffi/jsondoc,sarhanm/jsondoc