void complexAdd(Type t, object obj, Method addMethod, object val, int line) { try { addMethod.invoke(obj, new object[] { val }); } catch (System.Exception ex) { throw err("Cannot call " + t.qname() + ".add: " + ex, line, ex); } }