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) => { ... };
}