Lazy, Commutative And based off MVars