make `defined` a term, and allow oldschool sub-calls