pub fn serialize<L, R, S>(
    this: &Option<Either<L, R>>,
    serializer: S
) -> Result<S::Ok, S::Error>where
    S: Serializer,
    L: Serialize,
    R: Serialize,