fix call overloading for type constructors, add some tests