public function injectSpecialBindings(
		string $sql,
		array $bindings
	):string {
		foreach(self::SPECIAL_BINDINGS as $special) {
			$specialPlaceholder = ":" . $special;

			if(!array_key_exists($special, $bindings)) {
				continue;
			}

			$replacement = $this->escapeSpecialBinding(
				$bindings[$special],
				$special
			);

			$sql = str_replace(
				$specialPlaceholder,
				$replacement,
				$sql
			);
			unset($bindings[$special]);
		}

		foreach($bindings as $key => $value) {
			if(is_array($value)) {
				$inString = "";

				foreach($value as $i => $innerValue) {
					$newKey = $key . "__" . $i;
					$keyParamString = ":$newKey";
					$inString .= "$keyParamString, ";
				}

				$inString = rtrim($inString, " ,");
				$sql = str_replace(
					":$key",
					$inString,
					$sql
				);
			}
		}

		return $sql;
	}