private byte[] generateFunctionBlock(WycsFile.Function fd) throws IOException {
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
BinaryOutputStream output = new BinaryOutputStream(bytes);
output.write_uv(stringCache.get(fd.name()));
output.write_uv(typeCache.get(fd.type));
if(fd.constraint == null) {
output.write_uv(0); // no sub-blocks
} else {
output.write_uv(1); // one sub-block
writeBlock(BLOCK_Code,fd.constraint,output);