mongoUpdateToBson :: forall typ. PersistField typ
                  => Text
                  -> UpdateValueOp typ
                  -> DB.Field
mongoUpdateToBson fname upd = case upd of
    UpdateValueOp (Left v)  op -> updateToBson fname (toPersistValue v) op
    UpdateValueOp (Right v) op -> updateToBson fname (PersistList $ map toPersistValue v) op
mongoUpdateToBson :: forall typ. PersistField typ
                  => Text
                  -> UpdateValueOp typ
                  -> DB.Field
mongoUpdateToBson fname upd = case upd of
    UpdateValueOp (Left v)  op -> updateToBson fname (toPersistValue v) op
    UpdateValueOp (Right v) op -> updateToBson fname (PersistList $ map toPersistValue v) op
mongoUpdateToBson fname upd = case upd of
    UpdateValueOp (Left v)  op -> updateToBson fname (toPersistValue v) op
    UpdateValueOp (Right v) op -> updateToBson fname (PersistList $ map toPersistValue v) op