Wider function support and more expression support