def _resolveChainByDict(self, chainWithPosition, boundVariables):
        freeVariable = chainWithPosition.var[0]

        if freeVariable in boundVariables:
            rootValue = boundVariables[freeVariable]

        elif hasattr(__builtin__, freeVariable):
            rootValue = getattr(__builtin__, freeVariable)

        else:
            raise UnresolvedFreeVariableException(chainWithPosition, None)

        return self._computeSubchainAndTerminalValueAlongModules(
            rootValue, chainWithPosition)
`_resolveChainByDict`: look up a free variable member access chain, `chain`,
dataset/ETHPy150Open ufora/ufora/packages/python/pyfora/PyObjectWalker.py/PyObjectWalker._resolveChainByDict