insert       ::  Int -> [(Int, Tree)] -> [(Int, Tree)]
insert x ts  =   leaf x : split x ts
insert       ::  Int -> [(Int, Tree)] -> [(Int, Tree)]
insert x ts  =   leaf x : split x ts
insert x ts  =   leaf x : split x ts