That behavior is correct. The constructors should return the same type as the class they are called from.