add STM variant, refinement parse error
play with assume