gen: the forward needed for an array is the type itself
gen: fix ambiguous generated guards in m-types