macro_rules! basic_latin_alu {
($name:ident,
// safety invariant: use u8 for src/dest for ascii, and u16 for basic_latin
$src_unit:ty,
$dst_unit:ty,
// safety invariant: stride function must munch ALU_STRIDE_SIZE*size(src_unit) bytes off of src and
// write ALU_STRIDE_SIZE*size(dst_unit) bytes to dst
$stride_fn:ident) => { ... };
}