docs: def mixedToUnder(s):  # pragma: no cover
      """
      Sample:
          >>> mixedToUnder("FooBarBaz")
          'foo_bar_baz'
  
      Special case for ID:
          >>> mixedToUnder("FooBarID")
          'foo_bar_id'
      """
      if s.endswith('ID'):
          return mixedToUnder(s[:-2] + "_id")
      trans = _mixedToUnderRE.sub(mixedToUnderSub, s)
      if trans.startswith('_'):
          trans = trans[1:]
      return trans