compiler/macros: split define-function and define-method
compiler/macros: make define-function inlining friendlier
update core