input as a typeclass
use input sources for input
document input sources
compiler interface
documentation