=str #15755 #15756 First stab at input/output factories