ensure 1st arg to X is lazy
add deepmap, make unary hypers shallow as specced