code: def translate(self, type_):
          
          if isinstance(type_, six.string_types):
              for t in self.all_types:
                  if type_ in t.aliases:
                      return t
              raise ValueError('Failed to recognise type by name {!r}'.format(type_))
  
          for t in self.all_types:
              if type_ in t.builtin_types:
                  return t
  
          return type_
docs: Given a built-in, an otherwise known type, or a name of known type, return its corresponding wrapper type::
  
              >>> Types.translate(int)
              <_IntType ('int', 'integer')>
  
              >>> Types.translate('string')
              <_StrType ('str', 'string', 'unicode')>