class_docstr: View type for the persistent map/dict type `PMap`.
  
  Provides an equivalent of Python's built-in `dict_values` and `dict_items`
  types that result from expreessions such as `{}.values()` and
  `{}.items()`. The equivalent for `{}.keys()` is absent because the keys are
  instead represented by a `PSet` object, which can be created in `O(1)` time.
  
  The `PMapView` class is overloaded by the `PMapValues` and `PMapItems`
  classes which handle the specific case of values and items, respectively
  
  Parameters
  ----------
  m : mapping
      The mapping/dict-like object of which a view is to be created. This
      should generally be a `PMap` object.
code: def __init__(self, m):
      # Make sure this is a persistnt map
      if not isinstance(m, PMap):
          # We can convert mapping objects into pmap objects, I guess (but why?)
          if isinstance(m, Mapping):
              m = pmap(m)
          else:
              raise TypeError("PViewMap requires a Mapping object")
      object.__setattr__(self, "_map", m)
  
imports: from collections.abc import Mapping, Hashable
  from itertools import chain
  from typing import Generic, TypeVar
  from pyrsistent._pvector import pvector
  from pyrsistent._transformations import transform
label_desc: Use image node_id 1 to create a new PMapView object  with example: obj = PMapView(m)