Hi, there, Could anybody explain what does this type defination mean : data xxx a = xxx (a ->b) looks xxx can use itself as constructor(like tree) but change the type...... Thanks! Song