Desserializing xml aninhado em objetos C #

Estou recuperando dados xml de uma solicitação da web http e desserializando os dados em objetos.

Aqui está uma estrutura xml de amostra.

<users>
    <user>
        <name>...</name>
        <orders>
            <order>
                <number>...</number>
            </order>        
            ...
        </orders>
    </user>
    <user>
        <name>...</name>
        <orders></orders>
    </user>
    ...
</users>

Eu tenho quatro classes

public class Users
{
    [XmlElement("user")]
    public User[] UserList { get; set; }
}

public class User
{
    [XmlElement("name")]
    public string Name { get; set; }

    [XmlArray("orders")]
    public Orders OrderList { get; set; }
}

public class Orders
{
    [XmlElement("order")]
    public Order[] Order { get; set; }
}

public class Order
{
    [XmlElement("number")]
    public string Number { get; set; }
}

Eu sinto que três classes devem ser suficientes - ter um Order [] na classe User e se livrar da classe 'Orders'. Isso é possível? Tudo o que tentei não funcionou.

Obrigado.

questionAnswers(2)

yourAnswerToTheQuestion