src/core/BinnFactory.php
private function determineSubTypeOfIndexedContainers($data) {
        list( $allNumeric, $inSequence ) = $this->detectContainerKeyFlags( $data );
        if( $allNumeric == false ){
            return "\xE2";
        }else if( $inSequence ){
            return "\xE0";
        }else{
            return "\xE1";
        }
    }
private function determineSubTypeOfIndexedContainers($data) {
        list( $allNumeric, $inSequence ) = $this->detectContainerKeyFlags( $data );
        if( $allNumeric == false ){
            return "\xE2";
        }else if( $inSequence ){
            return "\xE0";
        }else{
            return "\xE1";
        }
    }
private function determineSubTypeOfIndexedContainers ( $ data ) { list ( $ allNumeric , $ inSequence ) = $ this -> detectContainerKeyFlags ( $ data ) ; if ( $ allNumeric == false ) { return "\xE2" ; } else if ( $ inSequence ) { return "\xE0" ; } else { return "\xE1" ; } }
We select the container subtype that uses the lowest number of bytes to get
the job done.

To do this, we determine:
1. Are ALL indexes numeric?  If yes, then the object is a LIST or a MAP; if no, then the object is an OBJECT
2. Are ALL indexes in sequence starting at 0? If yes, then the object is a LIST. If no, the object is a MAP.
@param array|object $data
@return string
We select the container subtype that uses the lowest number of bytes to get the job done .