As may be noted in the hotspot and jdk source code, there are several kinds of missing adapter types. These may be simulated by combinations of other method handle types, with the following disadvantages:
1. The performance of non-tail-recursive adapters like MethodHandles.guardWithTest is reduced, because of the path length.
2. The method handle internals must generate adapter classes to perform the adaptations, which introduces undesirable trade-offs between code space and code customization.
3. The generated adapter classes make implementation of JSR 292 on smaller JVMs more difficult and costly.