An implementation of the binary mobile problem from SICP