DRY'd up property information calc
subschema are now outputted in order
If no type is calculated, then print a warning, return null, ignore