Collection of haskell code from Johnson's haskell class, from bits to completed code