It'd be useful to have a protocol extended to all types to check for:
uri?
lang-string?
xsd-string?
resource? (URI or blank node)
literal?
non-native-literal? (a boxed literal, i.e. not one mapped to a native platform type)
blank-node? (currently implemented as a multimethod)