docstr: Return a new list with elem inserted as new head.
  
  >>> plist([1, 2]).cons(3)
  plist([3, 1, 2])
docstr_tok: ["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 ._compat import Sequence, Hashable
  from numbers import Integral
  from functools import reduce
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