I have an interface I1 which produces a Î A, and you have an interface I2 which consumes b Î B.
It takes a(x | x Î A) Þ y Î B to tango.
There is a cost to building and maintaining a, but along with that comes composability.
If I3 comes along expecting c Î C, and wishing to dance, b(x | x Î B) Þ y Î C and b°a(x | x Î A) Þ y Î C solves world hunger.
Simple functional and set-based arithmetic is amazingly expressive. Anything can be defined as a simple transformation or mapping. Tell me your pattern, and I tell you there's a simple, concise means with which to tell the story using such constructs.
Notice how nicely this applies to service orientation and messaging, a technology in which abstract things flow through endpoints which often perform transformations and handoffs to other endpoints.