rewrite the below code, changing takeUnless, takeIf and let by if else:
fun process(
			response: EitherResponse<Throwable, *>,
			void: Boolean? = false,
			byteArray: Boolean? = false
		): BasicResponse {
			return BasicResponse(
				response.takeUnless { void == true }?.takeIf { byteArray == true }?.let { (it.either().getOrNull() as ResponseBody).bytes() }
					?: run { response.either()?.getOrNull() },
				response.getStatusCode().takeIf { it >= HTTP_STATUS_CODES_RANGE_BEGINNING },
				response.either().takeIf { response.getStatusCode() >= HTTP_STATUS_CODES_RANGE_BEGINNING }?.getLeft()?.let { message ->
					message.takeIf { i -> i.isPresent() }?.get()?.message?.replace(
						"\r\n".toRegex(),
						""
					)?.trim()
				}
			)
		}