isEmpty
empty
true
isEmpty
node
l
x
r
false
left
empty
empty
left
node
l
x
r
l
right
empty
empty
right
node
l
x
r
r
elem
node
l
x
r
x
append
nil
x
cons
x
nil
append
cons
y
ys
x
cons
y
append
ys
x
listify
n
xs
if
isEmpty
n
isEmpty
left
n
right
n
node
left
left
n
elem
left
n
node
right
left
n
elem
n
right
n
xs
append
xs
n
if
true
b
n
m
xs
ys
xs
if
false
false
n
m
xs
ys
listify
m
xs
if
false
true
n
m
xs
ys
listify
n
ys
toList
n
listify
n
nil
2.2
append
cons
y
ys
x
append
ys
x
listify
n
xs
isEmpty
n
listify
n
xs
left
n
listify
n
xs
right
n
listify
n
xs
left
n
listify
n
xs
elem
left
n
listify
n
xs
right
left
n
listify
n
xs
isEmpty
left
n
listify
n
xs
left
left
n
listify
n
xs
if
isEmpty
n
isEmpty
left
n
right
n
node
left
left
n
elem
left
n
node
right
left
n
elem
n
right
n
xs
append
xs
n
listify
n
xs
right
n
listify
n
xs
elem
n
if
false
false
n
m
xs
ys
listify
m
xs
if
false
true
n
m
xs
ys
listify
n
ys
listify
n
xs
left
n
listify
n
xs
left
n
toList
n
listify
n
nil
listify
n
xs
append
xs
n
true
toList
n
listify
n
nil
false
if
false
true
n
m
xs
ys
listify
n
ys
if
false
false
n
m
xs
ys
listify
m
xs
listify
n
xs
if
isEmpty
n
isEmpty
left
n
right
n
node
left
left
n
elem
left
n
node
right
left
n
elem
n
right
n
xs
append
xs
n
true
Failed!
NaTT
certifiable-1.6