static interface IVar extends IF0 {
void set(A a);
A get();
// reified type of value (if available)
default Class getType() { null; }
default IF0 getter() { ret l0 get; }
default IVF1 setter() { ret l1 set; }
ifndef Android
default bool has() { ret get() != null; }
default void clear() { set(null); }
endifndef
}