ZIO-HTTP: strange behaviour of Response equality

Given the following code snippet:

import zio.http.{Header, Headers, MediaType, Response}

val expected = Response().addHeader(Header.ContentType(MediaType.application.json))
val actual   = Response(headers = Headers.fromIterable(Header.ContentType(MediaType.application.json) :: Nil))

println("actual == expected: " + (actual == expected))

Executing this I’d expect as result:

actual == expected: true

but what I get is:

actual == expected: false

For all what I understand, both Response objects should be equal but why ain’t they?