public static procedure bgl_make_generic( procedure p ) { return new generic( p.index, p.arity, 3, p ); }