can we afford the allocation of `Some`?