public function createUser(
		string $username, string $email, string $password) : bool {

		$existing = $this->getUser(-1, $username, $email);

		if ($existing !== null) {
			return false;
		} else {

			// No XSS :)
			$username = htmlspecialchars($username, ENT_QUOTES, 'UTF-8');
			$email = htmlspecialchars($email, ENT_QUOTES, 'UTF-8');

			$pwHash = password_hash($password, PASSWORD_BCRYPT);
			$confirmationToken = bin2hex(random_bytes(64));

			$stmt = $this->db->prepare(
				"INSERT INTO accounts(" .
				"    username, email, pw_hash, confirmation" .
				") " .
				"VALUES (?, ?, ?, ?);"
			);
			$stmt->bind_param("ssss",
				$username, $email, $pwHash, $confirmationToken);
			$stmt->execute();
			$this->db->commit();

			return true;
		}
	}