code: func newFST(inputType InputType, outputs Outputs, willPackFST bool,
  	acceptableOverheadRatio float32, allowArrayArcs bool,
  	bytesPageBits int) *FST {
  	bytes := newBytesStoreFromBits(uint32(bytesPageBits))
  	// pad: ensure no node gets address 0 which is reserved to mean
  	// the stop state w/ no arcs
  	bytes.WriteByte(0)
  	ans := &FST{
  		inputType:      inputType,
  		outputs:        outputs,
  		allowArrayArcs: allowArrayArcs,
  		version:        VERSION_CURRENT,
  		bytes:          bytes,
  		NO_OUTPUT:      outputs.NoOutput(),
  		startNode:      -1,
  	}
  	if willPackFST {
  		ans.nodeAddress = packed.NewGrowableWriter(15, 8, acceptableOverheadRatio)
  		ans.inCounts = packed.NewGrowableWriter(1, 8, acceptableOverheadRatio)
  	}
  	return ans
  }
docs: /* Make a new empty FST, for building; Builder invokes this ctor */