otype T | { T x( T ); }; T y( T t ) { T t_instance; return x( t ); } forall( otype T ) lvalue T *?( T * ); int ?++( int * ); int ?=?( int *, int ); forall( dtype DT ) DT * ?=?( DT **, DT * ); otype U = int *; U x( U u ) { U u_instance = u; (*u)++; return u; } int *break_abstraction( U u ) { return u; } // Local Variables: // // tab-width: 4 // // End: //