I just got to look into this one again a little further, and it does seem that reading a utf16 file like this doesn't work:
my $contents = slurp( $file, :enc("utf16") );
Though this, however, does work:
my $fh = $file.IO.open( :r, :enc("utf16") );
my $contents = $fh.slurp;
Also the routine form (as opposed to the method form) of slurp works
with other encodings like utf8 and latin1.
So I'm opening an issue for this on github:
https://github.com/rakudo/rakudo/issues/3691
