This is an idea that may decrease the overhead of the extension compatibility layer for some blocks. Basically, if an extension block's function doesn't have a second argument, or has it but doesn't use it in the body text, the compiler could maybe use a reduced version of the extension compatibility layer (runInCompatibilityLayer) that doesn't initialize the block utility. That could allow some extension blocks (e.g utility operator blocks) to run a bit faster.
There could maybe even be a blockInfo property synchronous: true that could be set to true if your block doesn't return a Promise. That could allow the compiler to completely omit the compatibility layer, just calling the block function directly!