code: def get_grist (value):
      
      assert is_iterable_typed(value, basestring) or isinstance(value, basestring)
      def get_grist_one (name):
          split = __re_grist_and_value.match (name)
          if not split:
              return ''
          else:
              return split.group (1)
  
      if isinstance (value, str):
          return get_grist_one (value)
      else:
          return [ get_grist_one (v) for v in value ]
docs: Returns the grist of a string.
          If value is a sequence, does it for every value and returns the result as a sequence.