move position of OptionalMonoid