def _examine_val(self, k, val):
        'should only be called internally'
        if not isinstance(val, (types.FunctionType, partial)): return val
        vid = id(val)
        if vid in self._memoized:
            return self._memoized[vid]
        elif [] != getargspec_py27like(val)[0]:
            return val
        else:
            val = val()
            object.__setattr__(self, '_memoized', self._memoized.set(vid, val))
            return val
def _examine_val ( self , k , val ) : if not isinstance ( val , ( types . FunctionType , partial ) ) : return val vid = id ( val ) if vid in self . _memoized : return self . _memoized [ vid ] elif [ ] != getargspec_py27like ( val ) [ 0 ] : return val else : val = val ( ) object . __setattr__ ( self , '_memoized' , self . _memoized . set ( vid , val ) ) return val
should only be called internally