I'd argue the opposite. Since I've given a name to `value.startswith(scheme + '://')` I don't need to worry about how it is implemented and can instead see what the intent is. You just need to verify it once and you can forget how it's implemented.