define type Tree

Initialization is so ugly. (Should I use macro?)