I wonder which one is the expected behaviour, because both can potentially give different results. (e.g. for `plus(Some(Nil), None)`).