observe2
observe
This commit also includes an `observe2`, which operates directly on a tuple without explicitly converting to an HList. I'm committing it for posterity, but the next commit will remove it because it doesn't give a narrow enough output type.
Still some work to do on making the syntax work how we want.