def where(configurable, attribute=None):
    """
    Retrieve the location where the {attribute} of {configurable} got its value; if no
    {attribute} is specified, retrieve information about the {configurable} itself
    """
    # if no attribute name is given, return the locator of the configurable
    if attribute is None: return configurable.pyre_locator
    # retrieve the trait descriptor
    trait = configurable.pyre_trait(alias=attribute)
    # find the slot where the attribute is stored
    slot = configurable.pyre_inventory[trait]
    # and return its locator
    return slot.locator