Surprisingly, Array is not a Sequence, at least through the usual means of inheritance as @Brian noted. But in addition -- the problem arises because you use nested arrays and because of the way implicit conversions works in scala.
First, compiler goes through all your code and happily moves bits and bolts. Now, if there is typecheck error it looks into a list of implicit conversions it allowed to perform in order to fix otherwise non-compilable code (one for them is Array => Seq
). So compiler sees Seq[Seq[Byte]]
on the left hand side and tries to apply that conversion. What it gots on the right hand side after such application? Right, it gots Seq[Array[Byte]]
which is not Seq[Seq[Byte]]
.

So this fix attempt has failed and eventially compiler bails out with that error: Type mismatch, blah blah blah
. As you already may guess, implicit conversions do not go into depth (which is sane rule, actually). But, in this example, scalac will happily typecheck and compile such code:
def foo(seq: Seq[Array[Int]]) = println(seq)
foo(Array(Array(1)))
// WrappedArray([I@afb9176)
The solution is, sadly, to use Seqs initially, because I don't think that manual conversion of enclosed array is a viable option for you.
EDIT: in fact, it also fails because there is no implicit conversion, which is aimed on converting collection's element, but if you will introduce one, you will be stopped by the mechanisms explained above (however, it can be solved with additional hassle)