core: default the kind of a quantified type to Data if it's not already constrained
core: add more comments and checker tests