You can clone with
HTTPS or Subversion.
It seems that output objects can have a variety of methods invoked on them puts, tty?, flush, print -- so it's far from obvious what constitutes a valid output object.
Also, what are the conditions for an input object?
These interfaces must be much more clearly defined.
it seems to be IO-like unless it's Readline or Coolline(input). a single interface would be cool if it could wrap Readline/Coolline underneath something that's always IO-like. I think output is just always IO-like.
I agree. If their names are input or output. Their interface should be like IO.