module Spruz::PartialApplication
def self.included(modul)
If this module is included into a Proc (or similar object), it tampers
def self.included(modul) modul.module_eval do old_arity = instance_method(:arity) define_method(:arity) do @__arity__ or old_arity.bind(self).call end end super end