typed m*/scalar and m*/vector