public Expression <Func <dynamic> > Compile(Block block) { scope = Scope.CreateRoot(); var blockExpr = Visit(block); var expr = Expr.Block(blockExpr, Expr.Label(scope.GetReturnLabel(), Expr.Constant(null))); return(Expr.Lambda <Func <dynamic> >(expr)); }