code: func (enc *Encoder) compileSignature(sig *Signature, ref *bytes.Buffer) error {
  	return enc.compileSignatureOptional(sig, ref, false)
  }
docs: //given a signature, compile to a byte stream, binding typedefs to the encoder's tag set
  // the definition, if needed, is emitted as a side effect.
  // Int32 -> [Int32Tag]
  // Struct -> [<newtag> DefStructTag <size> (<fname> compile(<ftype>))*]