ast: remove Pointer type; it's an llvm internal rep
codegen: implement str-join for i8 vector