protected override int doHashCode()
{
OtpErlangObject.Hash hash = new OtpErlangObject.Hash(9);
int a = arity();
hash.combine(a);
for (int i = 0; i < a; i++)
{
hash.combine(elems[i].GetHashCode());
}
return hash.valueOf();
}