More generic implementations for Walkable protocol

You can extend protocols to interfaces, so this patch extends Walkable
to ISeq for greater flexibility. More specific types will use their
more specific implementations; ISeq is just a fallback.