docs: function calculate_encoding_from_tree_position(position_array){
  
    // if we have only one position then it means we have a root element (i.e. one at the top of the tree)
    // and this is an easy fraction to calculate (i.e. x / 1)
    if(position_array.length==1){
      return get_parsed_encodings({
      
        // the numerator is the position of the root element
        numerator:position_array[0],
        
        // the denominator is always 1
        denominator:1
        
      });
    }
    
    // initialize the data array we will work with
    var data = {
      parts:_.map(position_array, function(v){return v;}),
      unityparts:[]
    };
    
    // lets insert the alternate unity into the position array
    for(var i=0; i<data.parts.length; i++)
    {   
      // add the next element into the array
      // and as long as we are not the last element, insert unity
      
      data.unityparts.push(data.parts[i]);
  
      if(i<data.parts.length-1)
      {
        data.unityparts.push(1);
      }
    }
    
    // There will always be AT LEAST 3 elements in the array at this point
    // initialize values by purging the last element from the array as the initial numerator
    // the denominator will always start off as null because the first fraction will be just the last_element (i.e. last_element / 1)
    data.numerator = data.unityparts.pop();
    data.denominator = 1;
    
    // the integer starts off as 0 to deal with the not-possible event of if we only had 1 or 2 array elements
    data.integer = 0;
    
    // now lets start reducing the continued fraction!
    while(data.unityparts.length>0)
    {
      data.integer = data.unityparts.pop();
  
      data = reduce_continued_fraction_step(data);
  
      // this has just performed:
      // a,b -> a + 1 / b
    }
    
    return get_parsed_encodings(data);
  }