definition module uFPL.Util

:: PrState =
	{ indent :: Int
	, output :: [String]
	}

class print a :: a -> PrState -> PrState

printToString :: a -> String | print a

instance print (PrState -> PrState)
instance print String
instance print Int

nl :: PrState -> PrState
indent :: PrState -> PrState
unindent :: PrState -> PrState

prsperse :: a [b] -> PrState -> PrState | print a & print b