def pprintable(self):
    """Convert to a nested dictionary structure.

    Returns:
     a structure that the pprint module can render nicely.
    """

    def as_pprintable(v):
      return v.pprintable() if isinstance(v, NQExprProvenance) else v

    return dict([(k, as_pprintable(v)) for k, v in self.__dict__.items() if v])
Convert to a nested dictionary structure.

    Returns:
     a structure that the pprint module can render nicely.
    
language/nql/nql/__init__.py