Eliminate with_val by generalizing value
Merge pull request #1662 from Melvar/pureM-constructor

Eliminate with_val by generalizing value