Make disint accept functions as arguements - a function `X -> M(A,B)' becomes `X -> A -> M(B)' or `(a:A) |- X -> M(B)'.
Make disint accept functions as arguements - a function
`X -> M(A,B)' becomes `X -> A -> M(B)' or `(a:A) |- X -> M(B)'.

zachsully/hakaru,zachsully/hakaru