valprimitiveArrayCodec: Map[Surface, MessageCodec[_ >: Array[Char] with Array[Short] with Array[Byte] with Array[String] with Array[Boolean] with Array[Double] with Array[Float] with Array[Long] with Array[Int] <: Array[_ >: Char with Short with Byte with String with Boolean with Double with Float with Long with Int]]]