Printing

* printing predicates in the annotation file

* parse predica arguments as predicates, not as types, 
  ie (see tests/pos/ListISort.hs) we can have 
  type IncrList a = [a]<{\fld v -> v <= fld}>

  this change affects the parser, not the internal representation