refined type checking to not complain about common re-use/lack of new stuff on lhs of :=