I guess what I'm wondering is, why do we need a specialized type? I think the tests you added should all pass with the basic traversablespout, right?