bind1 sub 0
let neg = bind1 sub 0
neg -2

bind2 div 2
let half = bind2 div 2
half 6

dupl mul
let square = dupl mul
square 2

join half add
let avg = join half add
avg 2 8

let distSquared = join square sub
distSquared 5 9

join half distSquared
let distSquaredHalved = join half distSquared
distSquaredHalved 5 9

bind1 join half
let joinHalf = bind1 join half
joinHalf distSquared
let anotherDistSquaredHalved = joinHalf distSquared
anotherDistSquaredHalved 5 9

let id = bind2 add 0
id 8