surprised this is not a compile error unless the mon is inferred as `Monoid[V]`