fix #153, add contravariant SetMutator, ListMutator, MapMutator