Tuple-like constructors