This looks wrong to me; it'll terminate the stream without announcing an error if mkPartialJson returns None for some reason?