 		case zlib = 3
 	}
 
-	struct Header: RawRepresentable, CustomDebugStringConvertible {
+	private struct Header: RawRepresentable, CustomDebugStringConvertible {
+		typealias RawValue = [UInt8]
+
 		var rawValue: [UInt8] {
 			return Self.signature + [UInt8(0), version, flags.rawValue]
 		}


		guard header.version == 1 else { throw UTS46Error.unknownDataVersion }

		let offset = 8 + (header.hasCRC ? 4 : 0)

		guard fileData.count > offset else { throw UTS46Error.badSize }


		}

		let version: UInt8
		private var flags: Flags
		var hasCRC: Bool { flags.hasCRC }
		var compression: CompressionAlgorithm? { flags.compression }
		var dataOffset: Int { 8 + (flags.hasCRC ? 4 : 0) }
