clean
refacotring ctyp
refine TyCol:fix
refine TyColMut and change syntax mutable into the original syntax
single out typedecl
refine typing seems to succeed
fix a bug in with_constr for private type constraint