support compiling def set!