function unitsOutOfStreets(unit_features, street_layers) {
  let processed_unit_features = unit_features.slice();

  street_layers.eachLayer(function (street_layer) {
    let street_feature = street_layer.feature;
    for (let unit_feature of processed_unit_features) {
      let intersection_exists =
        lineIntersect(street_feature, unit_feature).features.length > 0;
      if (intersection_exists) {
        processed_unit_features.splice(
          processed_unit_features.indexOf(unit_feature),
          1,
          null,
        );
      }
    }

    processed_unit_features = processed_unit_features.filter((feature) =>
      feature === null ? false : true,
    );
  });

  return processed_unit_features;
}
Get an array of units excluding units that overlap with streets.
@private

@param {Array<Feature>} unit_features - Array of features representing units.
@param {Array<Layer>} street_layers - Array of Leaflet layers representing streets.
@returns {Array<Feature>} - unit_features, but with all units that intersect any streets removed.