protected virtual IReference DeclareHelper(string name, IReference variable, Expression optionalInitialValue) { FuncBuilder.Instance.BindLocalVariableToRepresentation(variable, name); if (!ReferenceEquals(optionalInitialValue, null)) { Assignment.AssignAny(variable, optionalInitialValue); } return(variable); }