typealias Operation = (args: List<Double>) -> Double
An operation is really just a mapping of arguments to a value.