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
