/datum/basic
var/category = "Undefined"
category::subtype = "subtype category"
/datum/basic/some_subtype
// category = "subtype category"
// It's already defined by parent
/datum/basic/another_subtype
// category = "subtype category"
// It's already defined by parent as well
/proc/main()
world.log << /datum/basic::category // this will tell "Undefined"
world.log << /datum/basic/another_subtype::category // this will tell "subtype category"
category::subtype is a suggesting format.
with a variable name with "::subtype", you'll be able to define all subtype variable except for its parent.
It will be handy.