The opaque type is dangerous and rarely useful. However,
there are particular times when an opaque type is the only
way to solve a problem; for example, it is one of the few portable
ways to implement an object with state in FORTRAN 77 (see
Section ). When a SIDL file uses an
opaque type, Babel guarantees only bits will be
relayed exactly between caller and callee. If there is a need
to pass more information than an opaque provides, than the
developer can simply pass a pointer to that information.
Use of a opaque carries a heavy penalty.
When Babel matures enough to support distributed computing,
any method calls with opaque in the argument list
(or return type) will be restricted to in-process calls only.