Interprets a passed value. In this order:
     - If it's callable, call it with the parameters provided
     - If it's a tuple/list/dict and we have a single, non-kwarg parameter, look up that parameter within the tuple/list/dict
     - Else, just return it

def interpretValue(value,*args,**kwargs):
    """Interprets a passed value. In this order:
     - If it's callable, call it with the parameters provided
     - If it's a tuple/list/dict and we have a single, non-kwarg parameter, look up that parameter within the tuple/list/dict
     - Else, just return it
     """
    if callable(value): return value(*args,**kwargs)
    if isinstance(value,tuple) or isinstance(value,list) or isinstance(value,dict):
        if len(args)==1 and kwargs=={}:
            return value[args[0]]
    return value