add compile-dwim (Compile Do What I mean) function