past the test of flatMap
refactor the map, return MNone without specific type