The bitcoin crate currently provides number of useful types that could be returned in Visitor methods instead. This would of course make the dependency mandatory. (But most, if not all, Bitcoin projects will depend on it anyway.) If it's considered too large, perhaps it'll make more sense after crate smashing.
Some noteworthy types:
&Script
Sequence
LockTime
Amount
block::Version
CompactTarget
I'd be happy to help making other types more easily usable with this crate.