docstr: Return a new list with elem inserted as new head.
  
  >>> plist([1, 2]).cons(3)
  plist([3, 1, 2])
code: def cons(self, elem):
      """
      Return a new list with elem inserted as new head.
  
      >>> plist([1, 2]).cons(3)
      plist([3, 1, 2])
      """
      return PList(elem, self)
  
imports: from collections.abc import Sequence, Hashable
  from numbers import Integral
  from functools import reduce
  from typing import Generic, TypeVar
label_desc: Use image node_id 4 for calling the _PListBase obj's underlying member method code with example usage: obj.cons(elem) and returns: PList