docs: def Rmrs(top=None, index=None, xarg=None,
           eps=None, args=None, hcons=None, icons=None,
           lnk=None, surface=None, identifier=None, vars=None):
      """
      Construct an :class:`Xmrs` from RMRS components.
  
      Robust Minimal Recursion Semantics (RMRS) are like MRS, but all
      predications have a nodeid ("anchor"), and arguments are not
      contained by the source predications, but instead reference the
      nodeid of their predication.
  
      Args:
          top: the TOP (or maybe LTOP) variable
          index: the INDEX variable
          xarg: the XARG variable
          eps: an iterable of EPs
          args: a nested mapping of `{nodeid: {rargname: value}}`
          hcons: an iterable of HandleConstraint objects
          icons: an iterable of IndividualConstraint objects
          lnk: the Lnk object associating the MRS to the surface form
          surface: the surface string
          identifier: a discourse-utterance id
          vars: a mapping of variables to a list of `(property, value)`
              pairs
  
      Example:
  
      >>> m = Rmrs(
      >>>     top='h0',
      >>>     index='e2',
      >>>     eps=[ElementaryPredication(
      >>>         10000,
      >>>         Pred.surface('_rain_v_1_rel'),
      >>>         'h1'
      >>>     )],
      >>>     args={10000: {'ARG0': 'e2'}},
      >>>     hcons=[HandleConstraint('h0', 'qeq', 'h1'),
      >>>     vars={'e2': {'SF': 'prop-or-ques', 'TENSE': 'present'}}
      >>> )
      """
      eps = list(eps or [])
      args = list(args or [])
      if vars is None: vars = {}
      for arg in args:
          if arg.nodeid is None:
              raise XmrsStructureError("RMRS args must have a nodeid.")
      # make the EPs more MRS-like (with arguments)
      for ep in eps:
          if ep.nodeid is None:
              raise XmrsStructureError("RMRS EPs must have a nodeid.")
          epargs = ep.args
          for rargname, value in args.get(ep.nodeid, {}).items():
              epargs[rargname] = value
      hcons = list(hcons or [])
      icons = list(icons or [])
      return Xmrs(top=top, index=index, xarg=xarg,
                  eps=eps, hcons=hcons, icons=icons, vars=vars,
                  lnk=lnk, surface=surface, identifier=identifier)