public override T DecodeOrderedSelfTerm(ref SliceReader input)
        {
            //HACKHACK: we lose the current depth!
            var  reader = new TupleReader(input);
            T    value;
            bool res = STuple.DecodeNext <T>(ref reader, out value);

            input = reader.Input;
            return(res ? value : m_missingValue);
        }