docs: def _compile_type(self, schema):
          """ Compile type schema: plain type matching """
          # Prepare self
          self.compiled_type = const.COMPILED_TYPE.TYPE
          self.name = get_type_name(schema)
  
          # Error partials
          err_type = self.Invalid(_(u'Wrong type'), self.name)
  
          # Type check function
          if six.PY2 and schema is basestring:
              # Relaxed rule for Python2 basestring
              typecheck = lambda v: isinstance(v, schema)
          else:
              # Strict type check for everything else
              typecheck = lambda v: type(v) == schema
  
          # Matcher
          if self.matcher:
              def match_type(v):
                  return typecheck(v), v
              return match_type
  
          # Validator
          def validate_type(v):
              # Type check
              if not typecheck(v):
                  # expected=<type>, provided=<type>
                  raise err_type(get_type_name(type(v)))
              # Fine
              return v
  
          return validate_type