Rewrite the parsing and compiling of (define) so that they are not allowed in expression context and to allow mutually recursives function (define) in a scope.