separate type/coer/expr variables in HaskWeak case branches