Avoid stack-overflow.

When trying to compose(a,b), if no such composition is defined then
we should give an error instead of overflowing the stack.

This changes compose(a,b) so that it is not automatically defined for all values of a and b. The previous definition would cause a stack overflow if I accidentally did something like compose(lines(...), lines(...)). The new definition will instead say "ERROR: no method compose(..,..)".