This raises the question of how we should handle unsupervised methods that won't take a `y` input. R does this often with formulas that have a `.` on the left-hand side. Not sure we need that, but seems worth thinking about.