data A = X data A = Y :i A :m Data.List :i A