quando eu uso o Java 8 Stream.of do tipo primitivo, o resultado é confuso

    byte[] a = {1,2,3};
    System.out.println(Stream.of(a).count());

    Byte[] b = {1,2,3};
    System.out.println(Stream.of(b).count());

o resultado é 1 e 3, por que?