def cprint(*args, **kwargs):
    """Prints colourful messages under a standard style set.
    
    Update: Now handles in the same as does print, meaning you
    can give print as many input strings as you want. e.g.
        
    >>> cprint("Hello", "Brian", "Simon")
    Hello Brian Simon    #but in bold
    
    >>> print("Hello", "Brian", "Simon")
    Hello Brian Simon
    
    No need to specifiy kind anymore. Now defaults to bold.
    Also give kwargs to the print statement now such as 'file'.
    N.B. supplying end in cprint will cause an error as that is
    already being used in this function when print is called."""
    bcolours = {'header': '\x1b[95m', 'okblue': '\x1b[94m', 'okgreen':
        '\x1b[92m', 'warning': '\x1b[31m', 'fail': '\x1b[91m', 'endc':
        '\x1b[0m', 'bold': '\x1b[1m', 'underline': '\x1b[4m'}
    type = kwargs.pop('type', 'bold')
    for message in args:
        print(bcolours[type] + message + bcolours['endc'], end=' ', **kwargs)
    print('\r')
