úÎ À j"Puts is just an opposite to gets.  Compare `x < - gets field' with `puts setField newValue'. (Declare setters for all fields of given `data' type.  For example, for   data Record = Record {  ...  someField :: Integer,  ... } one will automatically get  ! someField :: Record -> Integer. After calling   $(declareSetters ''Record)  one will get . setSomeField :: Integer -> Record -> Record.  Similar to ', but add data type name to all setters' names.  For example, one will get setRecordSomeField instead of  setSomeField.  setters-0.1Control.Monad.State.Puts Data.SettersputsdeclareSettersdeclareSetters' conSetters capitalize fieldSetter