The 'cl' function in c/lil.h clamps bytes to ASCII, replacing other characters with '?'. The 'clchar'/'clchars' functions in js/lil.js do the same. The 'str_add' function in c/lil.h also skips multiple-byte codepoints when filling strings, which happens with `read["somefile"]`
So with a few changes to stub some of this out, you can get a Lil that "just slings bytes around", but there might be a few landmines still with other code expecting the clamped values.