splitting lib and prog.
split Types.
adding doctest.
adding missing module.
removing sandbox.
supporting the sandbox of cabal 1.18.
re-organizing lib.
clean up Sandbox.
creating Printer.