An immutable's defalt initialization function is to accept any number of dictionaries followed
    by any number of keyword args and to turn them all into the parameters of the immutable that is
    being created.

def _imm_default_init(self, *args, **kwargs):
    '''
    An immutable's defalt initialization function is to accept any number of dictionaries followed
    by any number of keyword args and to turn them all into the parameters of the immutable that is
    being created.
    '''
    for (k,v) in six.iteritems({k:v for dct in (args + (kwargs,)) for (k,v) in dct}):
        setattr(self, k, v)