code: def change (properties, feature, value = None):
      
      assert is_iterable_typed(properties, basestring)
      assert isinstance(feature, basestring)
      assert isinstance(value, (basestring, type(None)))
      result = []
  
      feature = add_grist (feature)
  
      for p in properties:
          if get_grist (p) == feature:
              if value:
                  result.append (replace_grist (value, feature))
  
          else:
              result.append (p)
  
      return result
docs: Returns a modified version of properties with all values of the
          given feature replaced by the given value.
          If 'value' is None the feature will be removed.