# RFCs This document tracks RFCs, both implemented and not implemented (implemented RFC should eventually go way from here). ## Deprecate clone operator and replace it with .clone method **Status**: Implemented, as optional behavior currently. Can be specified by #forbid-clone-operator or #allow-clone-operator ## assignments in 'if' (let and local) **Status**: Implemented ## Replace let with const Replace 'let' for immutables with 'const' keyword or make them aliases. `const` and `let` for simple types works the same from coder PoV. `let` and `const` declarations for simple types (integer, float, string, null, boolean) can be optimized (we do know in compile time what is it). For other types const should work as 'binding' (like `let` do now). **Status**: Waiting for implementation ## Add .hasindex() for instances, classes, tables, arrays and strings. Should behave as 'in' operator, but exists only for types that can have 'index', and should have correct check of arguments type (arrays and strings can have only integer as index) **Status**: Waiting for implementation ## Add .hasvalue() for tables and arrays. The same as 'contains' for arrays. To make it more consistent with findvalue() and findindex() and hasindex() **Status**: Waiting for implementation ## Add for and foreach in ranges Syntax like: ``` for (range:integer) for (start_of_range:integer, end_of_range:integer) foreach (i in range:integer) ``` Will allow to make code faster and safer than with for(local i=0; i