Checks that some string, word or text are palindrome. Checking performs case-insensitive
		
		:param str somestr:
		    It is some string that will be checked for palindrome
		
		:keyword int check:
		    It is mode of checking. Follows modes are available:
			
		       - STRING - means that checking of string performs as string. See more at help(palindromus.checkstring)
		       - WORD - means that checking of string performs as word. See more at help(palindromus.checkword)
		       - MULTILINE - means that checking of string performs as multiline palindrome. See more at help(palindromus.checkmultiline)
		       - TEXT - means that checking of string performs as text. See more at help(palindromus.checktext)
			   - SUPER - means that checking of string performs as superpalindrome. See more at help(palindromus.checksuper)
			
		    The STRING-mode is default
			
		:keyword dict interchange:
		    It is dictionary of interchangeable letters
			
		:except TypeError:
		    If the checked string is not a string
			
		:except TypeError:
		    If checking mode is not specified as integer
			
		:except ValueError:
		    If value of checking mode is not valid.
		    If value of checking mode in [STRING, WORD, MULTILINE, TEXT, SUPER] then it is valid
			
		:return bool:

def check(somestr, check = STRING, interchange = ALL):
	"""
		Checks that some string, word or text are palindrome. Checking performs case-insensitive
		
		:param str somestr:
		    It is some string that will be checked for palindrome
		
		:keyword int check:
		    It is mode of checking. Follows modes are available:
			
		       - STRING - means that checking of string performs as string. See more at help(palindromus.checkstring)
		       - WORD - means that checking of string performs as word. See more at help(palindromus.checkword)
		       - MULTILINE - means that checking of string performs as multiline palindrome. See more at help(palindromus.checkmultiline)
		       - TEXT - means that checking of string performs as text. See more at help(palindromus.checktext)
			   - SUPER - means that checking of string performs as superpalindrome. See more at help(palindromus.checksuper)
			
		    The STRING-mode is default
			
		:keyword dict interchange:
		    It is dictionary of interchangeable letters
			
		:except TypeError:
		    If the checked string is not a string
			
		:except TypeError:
		    If checking mode is not specified as integer
			
		:except ValueError:
		    If value of checking mode is not valid.
		    If value of checking mode in [STRING, WORD, MULTILINE, TEXT, SUPER] then it is valid
			
		:return bool:
	"""
	# check invalid data types
	OnlyStringsCanBeChecked(somestr)
	if not isinstance(check, int):
		raise TypeError('keyword argument "check" must be an int')
		
	if check == STRING:
		# check that string is palindrome
		return checkstring(somestr, interchange = interchange)
	elif check == WORD:
		# check that word is palindrome
		return checkword(somestr, interchange = interchange)
	elif check == MULTILINE:
		# check that text is multiline palindrome
		return checkmultiline(somestr, interchange = interchange)
	elif check == TEXT:
		# check that text is palindrome
		return checktext(somestr, interchange = interchange)
	elif check == SUPER:
		# check that text is super palindrome
		return checksuper(somestr, interchange = interchange)
	else:
		# all other cases
		raise ValueError('Unknown mode %i' % check)