fixed the lazyness of CommandLineAsResult in S2 strings
added a PrettyProduct class to help display case classes