empty dictionary as default value for keyword argument in python function: dictionary seems to not be initialised to {} on subsequent calls?
numpy array subclass unexpedly shares attributes across instances