This is a minor thing but caused some confusion to me: IntegerVector foo1(2, 4.0); // works IntegerVector foo2(2, 4); // throws error while IntegerVector bar1 = IntegerVector::create(4.0, 4.0); // works IntegerVector bar2 = IntegerVector::create(4, 4); // works Bug or feature? Best, /g