Key differences between Church and Groovy

For its form of polymorphism, Groovy uses a system of heap-allocated meta-classes and a special run-time dispatching mechanism, which allows Java classes to be augmented with new methods. Church's equivalent of an O-O language's 'dynamic dispatch' mechanism is instead performed at load-time, and is described below.