Learning from data with structured missingness