public static LightDynamicExpression LightDynamic(CallSiteBinder binder, Type returnType, ExpressionCollectionBuilder<Expression> arguments) {
     ContractUtils.RequiresNotNull(arguments, "arguments");
     switch (arguments.Count) {
         case 1: return LightDynamic(binder, returnType, arguments.Expression0);
         case 2: return LightDynamic(binder, returnType, arguments.Expression0, arguments.Expression1);
         case 3: return LightDynamic(binder, returnType, arguments.Expression0, arguments.Expression1, arguments.Expression2);
         case 4: return LightDynamic(binder, returnType, arguments.Expression0, arguments.Expression1, arguments.Expression2, arguments.Expression3);
         default: return LightDynamic(binder, returnType, arguments.Expressions);
     }
 }
 public static LightDynamicExpression LightDynamic(CallSiteBinder binder, ExpressionCollectionBuilder<Expression> arguments) {
     return LightDynamic(binder, typeof(object), arguments);
 }