recursively eval sub expressions, currently inverses arguments