docs: 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